首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改QMessageBox图标和标题

如何更改QMessageBox图标和标题
EN

Stack Overflow用户
提问于 2018-07-02 06:55:52
回答 3查看 6.1K关注 0票数 8

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

我使用error类创建了一条QMessageBox消息,如下所示:

代码语言:javascript
复制
QMessageBox errorMessage;
errorMessage.critical(0, "Error", "An error has occured !");
errorMessage.setFixedSize(500, 200);

就像:

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

我很感谢你的帮助。

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-02 07:07:32

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

使用下面的code

代码语言:javascript
复制
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%。

票数 5
EN

Stack Overflow用户

发布于 2018-07-02 21:09:48

简单地说,您可以为您的应用程序设置图标,它将在MessegeBox上自动设置

票数 4
EN

Stack Overflow用户

发布于 2020-12-03 05:39:29

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

代码语言:javascript
复制
QApplication::setWindowIcon(QIcon(":/GuiMain/gh_resource/GH Icon.ico"));

在我的经验中,您也不需要使用像素映射,您可以使用:

代码语言:javascript
复制
mb.setWindowIcon(QIcon(":/path/to/icon.ico"));

这将在单个消息框上工作,只需将自定义图标添加到您的.qrc文件中即可。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51130570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档