如何更改QMessageBox图标和标题

时间:2018-07-02 06:55:53

标签: c++ qt qmessagebox

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

我有一条使用error类创建的QMessageBox消息:

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

就像:

enter image description here

我想更改带有红色圆圈的图标和标题。

enter image description here

我将不胜感激。

谢谢。

3 个答案:

答案 0 :(得分:5)

但是您可以使用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();

enter image description here

此示例工作100%

答案 1 :(得分:2)

只需为应用程序设置图标,它将自动在MessegeBox上设置

答案 2 :(得分:1)

如果要为每个窗口设置图标,可以使用以下方法全局设置:

ep.endpoint("http://localhost:8080/endpoint", "123"); 

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

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

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