首页 > 解决方案 > QFileIconProvider (PyQt5) 在 macOS Catalina 上崩溃

问题描述

我正在尝试在 macOS Catalina 上的 PyQt5 上使用 QFileIconProvider 创建一个图标:

from PyQt5.QtWidgets import QFileIconProvider
ip = QFileIconProvider()
ip.icon(QFileIconProvider.Folder)

以前的代码产生:

zsh: segmentation fault

我正在使用 python 3.7

我该如何解决这个问题?

标签: pythonpython-3.xpyqtpyqt5

解决方案


Qt 的许多对象都需要创建一个 QXApplication,而 QFileIconProvider 就是这种情况:

from PyQt5.QtWidgets import QApplication, QFileIconProvider

app = QApplication([])
ip = QFileIconProvider()
icon = ip.icon(QFileIconProvider.Folder)
print(icon, icon.isNull())

推荐阅读