我的一些 SVG 图标在缩放显示器 (Win10) 或使用高 DPI 显示器(Win10、Linux、Mac)时无法正确缩放。这适用于分配给 QAction 并由 QMenu 条目或 QToolButtons 显示的图标,以及分配给 QDockWidgets 的图标,如所附屏幕截图的上半部分所示。
下部的图标在派生的paintEvent(..)中绘制并完美呈现。
使用选项 QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
系统会在像素图上使用一些缩放启发式算法,因此图标会变得有些前卫:
有没有办法让qt在SVG基础上重绘图标而不需要派生所有图标显示类?
真诚的 杰杰
最佳答案
我对 SVG 图标也有这个问题。对我来说,这是由 SVG 文件和我试图将其渲染成的宽高比差异引起的。我尝试渲染为正方形,但我的 SVG 文件不是正方形。在 SVG 文件中设置方形尺寸修复了它。
关于c++ - svg 图标在高 DPI 上出现像素化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54572208/