QT 中QMessageBox 自定义按钮

本文介绍在QT中使用QMessageBox时如何正确添加自定义按钮并保持窗口关闭功能正常。通过添加一个不可见的默认按钮,解决了因自定义按钮过多导致窗口右上角关闭按钮失效的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QT 中QMessageBox 自定义按钮

由于添加两个自定义按钮导致窗口不能关闭,右上角按钮变成灰色不能使用;解决方法是又添加默认按钮 “QMessageBox::No 同时设置不可见。可以使用右上角关闭按钮”
QMessageBox msg;
msg.setWindowTitle(tr(“打开新文档”));
msg.setWindowIcon(QIcon(":/icon/document.png"));
msg.setText(“是否在当前窗口打开?”);
QPushButton *yestButton = msg.addButton(tr(“打开新窗口”), QMessageBox::ActionRole);
QPushButton *noButton = msg.addButton(tr(“是”),QMessageBox::ActionRole);
msg.addButton(QMessageBox::No);
msg.button(QMessageBox::No)->setHidden(true);

msg.setDefaultButton(noButton);
msg.exec();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值