Qt 如何判断QIcon是否缺少有效的pixmap?

Qt 如何判断QIcon是否缺少有效的pixmap?,qt,qt5,Qt,Qt5,如果我在以下代码段中使用pixmap创建一个: from PyQt5 import QtGui icon = QtGui.QIcon(':/images/view-refresh.png') 如何判断图标是否没有有效的pixmap,例如,因为找不到:/images/view refresh.png'?我的解决方案是将QIcon构造函数包装在一个工厂函数中,该函数创建一个显式的QPixmap,并对其进行探测以查看它是否有效: def create_icon(filename): pixm

如果我在以下代码段中使用pixmap创建一个:

from PyQt5 import QtGui
icon = QtGui.QIcon(':/images/view-refresh.png')

如何判断图标是否没有有效的pixmap,例如,因为找不到
:/images/view refresh.png'

我的解决方案是将QIcon构造函数包装在一个工厂函数中,该函数创建一个显式的QPixmap,并对其进行探测以查看它是否有效:

def create_icon(filename):
    pixmap = QtGui.QPixmap(filename)
    if pixmap.isNull():
        raise ValueError('No icon with filename \'{}\' found'.format(filename))
    return QtGui.QIcon(pixmap)

icon = create_icon(':/images/view-refresh.png')
请注意,还有一个方法,但根据文档,即使pixmap无效,它也可能为false