引言
最近做的这个小玩意儿我打算拦截关闭事件,并且提示,确定要关闭的询问,但是这上的图标始终都是这种难看的默认图标,怎么也没有改掉,反而询问的那个?可以自定义改掉,很头大。
实践
索性直接去掉图标吧,这样就省事儿了。
msgBox.setWindowFlags(Qt::Drawer); // 去掉标题栏上的图标


详细代码
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;
}
自定义显示图标
msgBox.setIconPixmap(QPixmap(":/imgs/icon"));
这种做法前提是需要提前把图标给放到资源文件中去。




评论 0
还没有评论,来说点什么吧。