如何更改 QMessageBox 图标和标题

How to Change QMessageBox Icon and Title

我正在使用 Qt c++ 创建一个 ui 应用程序。

我有一条 error 消息,是我使用 QMessageBox Class 创建的,例如:

QMessageBox errorMessage;
errorMessage.critical(0, "Error", "An error has occured !");
errorMessage.setFixedSize(500, 200);

就像:

而且我想更改红色圆圈中的图标和标题。

如有任何帮助,我将不胜感激。

提前致谢。

但是您可以使用 QMessageBox::critical(0, "Error", "An error has occured !"); 因为 critical(...) 方法是 static 并且不需要创建 QMessageBox.

的实例

使用波纹管 code :

QMessageBox mb("Application Name",
                           "Hardware failure.\n\nDisk error detected\nDo you want to stop?",
                           QMessageBox::NoIcon,
                           QMessageBox::Yes | QMessageBox::Default,
                           QMessageBox::NoButton,
                           QMessageBox::NoButton);

QPixmap exportSuccess("/media/msi/Information/Pictures/Icons/Icons Pack/PNG/48X48/about.png");
mb.setIconPixmap(exportSuccess);
mb.exec();

此示例有效 100%

您只需为您的应用程序设置图标,它会自动设置在您的消息框上

如果你想为每个 window 设置图标,你可以在全局范围内这样做:

QApplication::setWindowIcon(QIcon(":/GuiMain/gh_resource/GH Icon.ico"));

根据我的经验,您也不需要使用像素图,您可以使用:

mb.setWindowIcon(QIcon(":/path/to/icon.ico"));

这适用于单个消息框,只需将您的自定义图标添加到您的 .qrc 文件中