7

您建议如何使用 QPixmap 处理 svg?

QPixmap(":/myfile.svg");然后调用的构造scaled()不起作用。QPixmap 被像素化。

谢谢。

4

3 回答 3

36

现在有更简单的方法而不需要 SVG 模块

QIcon("filepath.svg").pixmap(QSize())

如此简单并且工作正常。至少在我的情况下它起作用了。

于 2016-04-29T10:42:00.917 回答
7

您应该使用SVGRenderer将其渲染到QImage. 从那里您可以转换为QPixmapwith QPixmap::convertFromImage

于 2012-04-09T20:12:27.983 回答
5

像这样的东西:

QSvgRenderer renderer(svg_file_name);
QPixmap pm(width, height);
pm.fill(fill_color);
QPainter painter(&pm);
renderer.render(&painter, pm.rect());
于 2014-07-30T06:22:16.083 回答