我只使用Qt(虽然是PyQt)但是当我打电话时我没有得到图标QMessageBox.warning()。有没有办法使用平台的默认图标?目前我正在使用更完整的QMessageBox构造函数并调用setIconPixmap。
答案 0 :(得分:4)
http://doc.qt.io/qt-5/qmessagebox.html
来自以上链接:
QMessageBox支持四种预定义的消息严重性级别或消息类型,它们实际上只在它们各自显示的预定义图标中有所不同。通过将icon属性设置为其中一个预定义图标,指定四种预定义消息类型之一。
所以你应该使用QMessageBox构造函数:
QMessageBox ( Icon icon, const QString & title, const QString & text, StandardButtons buttons = NoButton, QWidget * parent = 0, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint )
您可以使用以下图标之一:
http://doc.qt.io/qt-5/qmessagebox.html#Icon-enum
例如,您可以为icon:QMessageBox :: Warning
传递此参数HTH! 招呼
答案 1 :(得分:1)
我不太熟悉通过Python使用Qt或使用QMessageBox。但是,快速浏览文档意味着警告会使用警告图标,如果没有更改,它应该是平台的默认图标。您是否尝试过查看Qt的错误跟踪系统以查看它是否是一个错误?或者提交错误/功能请求?
答案 2 :(得分:1)
我不确定您是如何编写消息框的用法的,但以下是我如何使用它:
from PyQt4 import QtGui
QtGui.QMessageBox.warning(parent, dialogTitle, dialogText)
如果这不会在您的消息框中产生警告图标,那么您可能需要考虑将PyQt升级到最新版本,因为我在过去经历过一些PyQt版本的小错误。