QT 点击关闭按钮时提示是否退出同时按钮显示为中文

本文是对以下两篇博文的一些修改和结合:

拦截QT关闭窗口的CloseEvent
Qt标准对话框之QMessageBox

结合两篇博文做一些修改我们可以轻易的达成:中文显示由关闭按钮事件弹出的对话框

具体代码:

//以Dialog为例

//Dialog.h
#include <QCloseEvent> //加上头文件
class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    void closeEvent(QCloseEvent *event); //在Dialog.h加上这句
    ...
	//省略其他代码
	...
};

//Dialog.cpp
#include <QCloseEvent>
#include <QMessageBox>
void Dialog::closeEvent(QCloseEvent *event)
{
    QMessageBox button(QMessageBox::Warning, QString(tr("警告")),QString(tr("警告:正在试图结束程序!")));
    button.setStandardButtons (QMessageBox::Yes|QMessageBox::No);
    button.setButtonText (QMessageBox::Yes,QString("结束"));
    button.setButtonText (QMessageBox::No,QString("返回"));

    if(button.exec() != QMessageBox::Yes)
    {
            event->ignore();
    }
}

样例:
这里写图片描述

当点击“关闭按钮”和“不接受”时,会返回原窗口,不会退出程序;
当点击“接受”时才会退出程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白水baishui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值