我正在尝试内置StandardPixmaps 显示在我的布局上。
到目前为止,我已设法访问标准像素图(PyQt4.QtGui.QStyle.SP_MessageBoxWarning
),但似乎无法将其实际添加到我的布局中。我尝试使用setPixmap方法将其添加到QLabel,但这需要像素图,而不是standardPixmap。
我找到this answer on SO,这导致我使用了标准的Pixix,但我无法从这里取得更多进展。
答案 0 :(得分:1)
PyQt4.QtGui.QStyle.SP_MessageBoxWarning
是一个枚举值而不是像素图。
为了从中获取像素图,您可以将其赋予当前使用样式的standardPixmap
方法。
示例:
from PyQt4 import QtGui
if __name__ == '__main__':
app = QtGui.QApplication([])
label = QtGui.QLabel()
label.setPixmap(app.style().standardPixmap(QtGui.QStyle.SP_MessageBoxWarning))
label.show()
app.exec_()
不幸的是,standardPixmap
方法现在已被淘汰。 Qt doc建议使用返回standardIcon
的QIcon
方法。
如果您仍想使用QLabel
来显示图标,则必须从QPixmap
构建QIcon
。您可以使用其pixmap
方法之一:
from PyQt4 import QtGui
if __name__ == '__main__':
app = QtGui.QApplication([])
label = QtGui.QLabel()
icon = app.style().standardIcon(QtGui.QStyle.SP_MessageBoxWarning)
label.setPixmap(icon.pixmap(32))
label.show()
app.exec_()