我需要我的Qt 5.9.1应用程序支持高DPI显示,我正在寻找一个解决方案来缩放应用程序使用的QIcons。
我目前只瞄准了Windows 7和Windows 10。
到目前为止,对于非高分辨率的显示器(Windows7),我使用.ico文件来显示不同分辨率的图标。
我也有一些图标作为.png文件,当他们只在一个单一的分辨率使用。
在Windows10下,使用高DPI显示时,当用户应用缩放因子来缩放应用程序时,图标最终会缩放但变得模糊。
我测试过添加带有'@2x‘后缀的高分辨率png文件,但缩放会模糊图标。
看到这一点,我想我应该尝试使用.svg文件,因为这些文件应该缩放,但当与QIcons一起使用时,它们显示为黑色。这篇文章暗示QIcons:Qt support for coloring SVG in a QIcon不支持'fill‘颜色
有没有人设法让.svg文件与QIcons一起工作?我是不是在正确的轨道上使用.svg来支持高DPI显示,并且仍然得到清晰的图标?如果不是,人们采取的是什么方法?
发布于 2018-04-21 17:25:14
我在QT 5.6上也遇到了同样的问题。我编辑了.svg文件,并用<style type="text/css">替换了<style>,它对我来说工作得很好。
发布于 2017-09-09 00:52:34
这是我的项目代码的一部分:
ui->pushButtonIcon->setIcon(QIcon(":/simplebrowser.svg"));
我将*.svg图像设置为QPushButton()。图片被添加到我的项目资源中。

https://stackoverflow.com/questions/46111872
复制相似问题