带有.svg的QPixmap“无法从中创建图像”?

时间:2018-07-25 08:43:22

标签: qt svg qpixmap

我尝试将.svg导入QPixmap,但出现错误“无法从中创建图像”。

代码:

QString test = "/home/ftp/DM262-WIF-269-0.svg";
QPixmap design(test);
ui->scan_bild->setPixmap(design);
ui->scan_bild->setScaledContents(true);

我的问题有解决方案吗?

Thx 费利克斯

1 个答案:

答案 0 :(得分:2)

Qt的SVG加载器仅支持SVG的子集。似乎不支持将栅格图形图像嵌入SVG。 (如果我记得在其他SVG中正确嵌入SVG的效果也不佳。–太可悲了。)

为了证明我没有说错什么,我测试了我们软件的图标。

下图显示了Explorer Preview插件(基于Qt)如何显示图像:

SVG with embedded JPG loaded with qsvg (in Explorer plugin)

加载到Firefox中的同一张图片:

SVG with embedded JPG loaded with Firefox

当我将此图像导入GIMP时,也会考虑嵌入的图像。

因此,如果您不想重新设计SVG图标,我只会看到一种解决方案:将SVG渲染为Qt更好地支持的光栅图形图像(例如PNG或JPEG)–可能是,分辨率图标(QIcon – High DPI icons)以获得更好的效果。