拦截QT关闭窗口的CloseEvent(转)
来源:互联网 发布:windows窗口闪烁 编辑:程序博客网 时间:2024/04/29 16:40
QDialog类下有一个虚函数
void QDialog::closeEvent ( QCloseEvent * e ) [virtual protected]
通过实现closeEvent函数,就可以以对关闭窗口消息进行拦截,比如程序还没有完成工作时,可以弹出警告窗口,即使用户确认退出操作
在头文件中,需要加入#include <QCloseEvent>:
#ifndef TEST_H
#define TEST_H
#include <QDialog>
#include <QCloseEvent>
class ClientTest : public QDialog
{
Q_OBJECT
public:
ClientTest();
void closeEvent(QCloseEvent *event);
//后边的具体实现省略
...
};
#endif
在cpp文件中,对closeEvent函数进行实现:
void ClientTest::closeEvent(QCloseEvent *event)
{
QMessageBox::StandardButton button;
button = QMessageBox::question(this, tr("退出程序"),
QString(tr("警告:程序有一个任务正在运行中,是否结束操作退出?")),
QMessageBox::Yes | QMessageBox::No);
if (button == QMessageBox::No) {
event->ignore(); //忽略退出信号,程序继续运行
}
else if (button == QMessageBox::Yes) {
event->accept(); //接受退出信号,程序退出
}
}
- 拦截QT关闭窗口的CloseEvent(转)
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent()解析
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent()
- 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
- QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
- QT拦截关闭窗口事件
- QT拦截关闭窗口事件
- QT拦截关闭窗口事件
- Qt之拦截关闭窗口的QCloseEvent简单使用
- QT 关闭主窗口,触发关闭所有打开的窗口
- Qt正确的关闭窗口方法
- Qt窗口hide()后的关闭机制
- Qt按ESC关闭模态对话框不触发closeEvent()问题解析
- qml含边框程序如何拦截窗口大小和关闭事件(右上角的X)
- App开发 免费和付费的博弈
- 深圳通剪卡指南
- NO.76 代码优化初步 3.一些代码优化小技巧
- 使你内外兼修
- 关于C++程序的稳定性
- 拦截QT关闭窗口的CloseEvent(转)
- android开发笔记
- cilk之User Guide学习笔记(7)cilk运行系统API和cilk总结
- WebClient 保持 Session 和 Cookie
- js+css置顶
- hibernate常用参数配置
- linux tar打包解压详解
- 新机器灵魂读后感
- Linux驱动的platform机制 .