我正在用Qt c++创建一个ui应用程序。
我使用error类创建了一条QMessageBox消息,如下所示:
QMessageBox errorMessage;
errorMessage.critical(0, "Error", "An error has occured !");
errorMessage.setFixedSize(500, 200);就像:

我想改变红色圈的东西,这是图标和标题。

我很感谢你的帮助。
提前谢谢。
发布于 2018-07-02 07:07:32
但是,您可以使用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%。
发布于 2018-07-02 21:09:48
简单地说,您可以为您的应用程序设置图标,它将在MessegeBox上自动设置
发布于 2020-12-03 05:39:29
如果您想为每个窗口设置图标,可以在全局范围内这样做:
QApplication::setWindowIcon(QIcon(":/GuiMain/gh_resource/GH Icon.ico"));在我的经验中,您也不需要使用像素映射,您可以使用:
mb.setWindowIcon(QIcon(":/path/to/icon.ico"));这将在单个消息框上工作,只需将自定义图标添加到您的.qrc文件中即可。
https://stackoverflow.com/questions/51130570
复制相似问题