QT (c++语言) - 信息框图标隐藏

引言

最近做的这个小玩意儿我打算拦截关闭事件,并且提示,确定要关闭的询问,但是这上的图标始终都是这种难看的默认图标,怎么也没有改掉,反而询问的那个?可以自定义改掉,很头大。

实践

索性直接去掉图标吧,这样就省事儿了。

msgBox.setWindowFlags(Qt::Drawer); // 去掉标题栏上的图标

image.png
image.png

详细代码

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"));

这种做法前提是需要提前把图标给放到资源文件中去。
image.png

image.png

评论 0

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

提交后需要审核才会公开。