您建议如何使用 QPixmap 处理 svg?
QPixmap(":/myfile.svg");
然后调用的构造scaled()
不起作用。QPixmap 被像素化。
谢谢。
现在有更简单的方法而不需要 SVG 模块
QIcon("filepath.svg").pixmap(QSize())
如此简单并且工作正常。至少在我的情况下它起作用了。
您应该使用SVGRenderer将其渲染到QImage
. 从那里您可以转换为QPixmap
with QPixmap::convertFromImage
。
像这样的东西:
QSvgRenderer renderer(svg_file_name);
QPixmap pm(width, height);
pm.fill(fill_color);
QPainter painter(&pm);
renderer.render(&painter, pm.rect());