在 PyQt5 中使用 HiDPI 显示上的 SVG 图标

cbr*_*rnr 1 python svg pyqt pyqt5 hidpi

我想在我的 PyQt5 应用程序中使用高分辨率图标。但是,以下代码片段在我的 HiDPI macOS 平台上生成非常低分辨率的渲染(可以在此处下载所需的图标):

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_())
Run Code Online (Sandbox Code Playgroud)

结果如下(请注意图标的低分辨率): 在此输入图像描述

我究竟做错了什么?

cbr*_*rnr 5

事实证明有一个简单的解决方案:

app.setAttribute(Qt.AA_UseHighDpiPixmaps)
Run Code Online (Sandbox Code Playgroud)