3

我只使用Qt(虽然是PyQt)并且当我调用例如QMessageBox.warning() 时我没有得到图标。有没有办法使用平台的默认图标?目前我正在使用更完整的 QMessageBox 构造函数并调用 setIconPixmap。

4

3 回答 3

4

http://doc.qt.io/qt-5/qmessagebox.html

从上面的链接:

QMessageBox 支持四种预定义的消息严重性级别或消息类型,它们实际上仅在它们各自显示的预定义图标上有所不同。通过将 icon 属性设置为预定义的 Icons 之一来指定四种预定义的消息类型之一。

所以你应该使用 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

例如,您可以为图标传递此参数:QMessageBox::Warning

!打招呼

于 2009-04-20T19:59:00.630 回答
1

我不确定您是如何编写消息框的用法的,但我是这样使用它的:

from PyQt4 import QtGui
QtGui.QMessageBox.warning(parent, dialogTitle, dialogText)

如果这不会在您的消息框中产生警告图标,那么您可能需要考虑将您的 PyQt 升级到最新版本,因为过去我在一些 PyQt 修订版中遇到过类似的小错误。

于 2009-04-22T13:50:00.453 回答
1

我不太熟悉通过 Python 使用 Qt 或使用 QMessageBox。但是,快速浏览文档意味着警告将使用警告图标,如果它们没有被更改,它应该是平台的默认图标。您是否尝试过查看 Qt 的错误跟踪系统以查看它是否是错误?或者为它提交错误/功能请求?

于 2009-03-31T16:28:20.090 回答