如何在 qt 中使用默认图标
Posted
技术标签:
【中文标题】如何在 qt 中使用默认图标【英文标题】:how to use default icons with qt 【发布时间】:2010-10-16 06:13:52 【问题描述】:我只使用 Qt(虽然是 PyQt),并且当我打电话时我没有得到图标,例如QMessageBox.warning()。有没有办法使用平台的默认图标?目前我正在使用更完整的 QMessageBox 构造函数并调用 setIconPixmap。
【问题讨论】:
发布一些代码,您不必设置像素图来显示警告图标。这是在 Windows/Mac/Linux 上吗? 抱歉,我把原件弄丢了,但很简单。使用你的,它不起作用。 【参考方案1】: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
HTH! 问候
【讨论】:
【参考方案2】:我不太熟悉通过 Python 使用 Qt 或使用 QMessageBox。但是,快速浏览文档意味着警告将使用警告图标,如果它们没有被更改,它应该是平台的默认图标。您是否尝试过查看 Qt 的错误跟踪系统以查看它是否是错误?或者为它提交错误/功能请求?
【讨论】:
【参考方案3】:我不确定你是如何写下你对消息框的使用的,但我是这样使用它的:
from PyQt4 import QtGui
QtGui.QMessageBox.warning(parent, dialogTitle, dialogText)
如果这不会在您的消息框中产生警告图标,那么您可能需要考虑将您的 PyQt 升级到最新版本,因为过去我在一些 PyQt 修订版中遇到过类似的小错误。
【讨论】:
我做到了,就在今天...可能有一些我没有安装的图标库。除非您已经知道(或者是 qt 开发人员),否则请不要太担心;这对我来说不是什么大问题。干杯,尼古拉斯以上是关于如何在 qt 中使用默认图标的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 QPushButton 的系统主题图标——Linux 上的 Qt Designer
如何在 Qt C++ 中根据主题更改图标?如果可用的主题是深色或浅色