【发布时间】:2012-06-27 14:49:06
【问题描述】:
如何显示带有三角形感叹号符号的QMessageBox::warning,如下所示?
我在QMessageBox::warning 中找不到任何选项,我只得到红色圆形符号。
【问题讨论】:
标签: qt warnings qmessagebox
如何显示带有三角形感叹号符号的QMessageBox::warning,如下所示?
我在QMessageBox::warning 中找不到任何选项,我只得到红色圆形符号。
【问题讨论】:
标签: qt warnings qmessagebox
三角形图标应该是QMessageBox::warning 对话框的默认设置,而红色圆形图标是QMessageBox::critical 对话框的默认设置。
在我的 python 代码中,我使用任一
QMessageBox.warning(None,QString("..."),QString("...."))
或更复杂的
msg = "..."
q = QMessageBox(QMessageBox.Warning, "...", QString(msg))
q.setStandardButtons(QMessageBox.Ok);
i = QIcon()
i.addPixmap(QPixmap("..."), QIcon.Normal)
q.setWindowIcon(i)
q.exec_()
而且它们都运行良好。
最后你能显示你用来显示对话框的代码吗?
【讨论】:
您可以使用 QMessageBox.setIcon() 函数来配置您在显示对话框时看到的符号。
这里列出了预定义的图标属性类型:https://doc.qt.io/qt-5/qmessagebox.html#severity-levels-and-the-icon-and-pixmap-properties
这是我的带有黄色三角形图标的消息框的 C++ 示例:
QMessageBox msgWarning;
msgWarning.setText("WARNING!\nRunning low on coffee.");
msgWarning.setIcon(QMessageBox::Warning);
msgWarning.setWindowTitle("Caution");
msgWarning.exec();
这是我的带有红色圆圈图标的消息框的 C++ 示例:
QMessageBox msgError;
msgError.setText("CRITICAL ERROR!\nThe McRib is no longer available!");
msgError.setIcon(QMessageBox::Critical);
msgError.setWindowTitle("Danger");
msgError.exec();
【讨论】: