Loading... # 引言 最近做的这个小玩意儿我打算拦截关闭事件,并且提示,确定要关闭的询问,但是这上的图标始终都是这种难看的默认图标,怎么也没有改掉,反而询问的那个?可以自定义改掉,很头大。 # 实践 索性直接去掉图标吧,这样就省事儿了。 ```c++ msgBox.setWindowFlags(Qt::Drawer); // 去掉标题栏上的图标 ``` ![image.png](https://www.zunmx.top/usr/uploads/2023/05/1444757742.png) ![image.png](https://www.zunmx.top/usr/uploads/2023/05/1063721728.png) # 详细代码 ```c++ QMessageBox msgBox; msgBox.setWindowTitle(tr("退出")); msgBox.setWindowFlags(Qt::Drawer); // 去掉标题栏上的图标 msgBox.setIcon(QMessageBox::Question); msgBox.setText(tr("确定要退出吗?")); msgBox.setInformativeText(tr("退出后就不能监控按键数量了。")); QPushButton *ok = msgBox.addButton(tr(" 确定 "), QMessageBox::ActionRole); QPushButton *cancel = msgBox.addButton(tr(" 取消 "), QMessageBox::ActionRole); msgBox.setDefaultButton(ok); msgBox.setEscapeButton(cancel); msgBox.exec(); if (msgBox.clickedButton() == ok) { QApplication::exit(0); } else if (msgBox.clickedButton() == cancel) { return; } ``` # 自定义显示图标 ```c++ msgBox.setIconPixmap(QPixmap(":/imgs/icon")); ``` 这种做法前提是需要提前把图标给放到资源文件中去。 ![image.png](https://www.zunmx.top/usr/uploads/2023/05/3102713113.png) ![image.png](https://www.zunmx.top/usr/uploads/2023/05/2953511113.png) © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏