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

简介: 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();
    }
}


样例:


0a2653c851af460fa595bd959398a8f1.png


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

当点击“接受”时才会退出程序。


相关文章
|
1月前
【Qt 学习笔记】按钮实现helloworld | 信号与槽概述
【Qt 学习笔记】按钮实现helloworld | 信号与槽概述
41 0
|
1月前
QT中按钮格式QSS代码
QT中按钮格式QSS代码
|
1月前
|
安全 前端开发 C++
C++视角下的Qt按钮:从基础应用到高级定制(二)
C++视角下的Qt按钮:从基础应用到高级定制
54 2
|
1月前
|
XML JSON 算法
C++视角下的Qt按钮:从基础应用到高级定制(一)
C++视角下的Qt按钮:从基础应用到高级定制
156 2
|
7月前
06 QT - 按钮创建
06 QT - 按钮创建
29 0
|
1月前
|
算法 API 开发者
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
221 1
|
1月前
|
开发框架 UED 开发者
QML(Qt Quick) 按钮设计指南
QML(Qt Quick) 按钮设计指南
122 0
|
1月前
|
设计模式 安全 API
C++视角下的Qt按钮:从基础应用到高级定制(三)
C++视角下的Qt按钮:从基础应用到高级定制
85 0