如何在Qt中使用默认图标

3

我只使用Qt(虽然是PyQt),当我调用QMessageBox.warning()时,没有图标显示。有没有一种方法可以使用平台默认的图标?目前,我正在使用更完整的QMessageBox构造函数并调用setIconPixmap。


发布一些代码,你不应该设置 pixmap 就能显示警告图标。这是在 Windows/Mac/Linux 上吗? - user44484
很抱歉,我丢失了原始文件,但它非常简单。使用您的文件,程序无法运行。 - gatoatigrado
3个回答

4

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

从上面的链接中:
QMessageBox支持四个预定义的消息严重级别,或消息类型,它们实际上只是在它们各自显示的预定义图标方面有所不同。通过将图标属性设置为四个预定义图标之一来指定其中之一。
因此,您应该使用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
希望有所帮助!问候。

1

我对使用Python通过Qt或使用QMessageBox不太熟悉。 然而,快速浏览文档似乎意味着警告将使用警告图标,如果它们没有被更改,应该是平台的默认图标。你尝试查看Qt的错误跟踪系统以查看是否存在错误吗?或者提交一个错误/功能请求来解决它?


1

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

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

如果在您的消息框中没有出现警告图标,则您可能需要考虑升级您的PyQt到最新版本,因为我过去曾经遇到过一些PyQt修订版中类似的小错误。

我今天刚刚做了这件事......可能有一些图标库我没有安装。除非你已经知道(或者是Qt开发人员),否则请不要太担心它;对我来说并不是很重要。祝好,尼古拉斯 - gatoatigrado

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接