【发布时间】:2020-02-14 05:17:18
【问题描述】:
我想在我的 PyQt5 应用程序中使用高分辨率图标。但是,下面的代码 sn-p 在我的 HiDPI macOS 平台上产生了一个非常低分辨率的渲染(需要的图标可以下载here):
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
from PyQt5.QtGui import QIcon
app = QApplication(sys.argv)
main = QMainWindow()
icon = QIcon("waves-24px.svg")
action = QAction(icon, "Test")
toolbar = main.addToolBar("toolbar")
toolbar.addAction(action)
toolbar.show()
main.show()
sys.exit(app.exec_())
我做错了什么?
【问题讨论】:
-
你用的是什么版本的 PyQt5?
-
尝试在
app = ...之前添加os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1" -
不幸的是这个环境变量没有效果。
-
有趣的是,即使我加载从 Inkscape 导出的 240x240 PNG,我也会得到一个低分辨率的图标。也许
QIcon总是在缩减规模?
标签: python svg pyqt pyqt5 hidpi