拦截QT关闭窗口的CloseEvent()
2017-11-22 17:21
696 查看
通过实现closeEvent函数,就可以以对关闭窗口消息进行拦截,比如程序还没有完成工作时,可以弹出警告窗口,即使用户确认退出操作. 在头文件中,需要加入#include <QCloseEvent>: #include <QDialog> #include <QCloseEvent> class ClientTest : public QDialog { Q_OBJECT public: ClientTest(); void closeEvent(QCloseEvent *event); }; --------------------------------------------------------------- 在cpp文件中,对closeEvent函数进行实现: void ClientTest::closeEvent(QCloseEvent *event) { QMessageBox::StandardButton button; button = QMessageBox::question(this, tr("退出程序"), QString(tr("警告:程序有一个任务正在运行中,是否结束操作退出?")), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel ); if (button == QMessageBox::No) { event->ignore(); //忽略退出信号,程序继续运行 } else if (button == QMessageBox::Yes) { event->accept(); //接受退出信号,程序退出 } }
From: 拦截QT关闭窗口的CloseEvent()解析
相关文章推荐
- 拦截QT关闭窗口的CloseEvent
- QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent()解析
- 拦截QT关闭窗口的CloseEvent
- 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent(转)
- QT拦截关闭窗口事件
- QT拦截关闭窗口事件
- Qt之拦截关闭窗口的QCloseEvent简单使用
- QT拦截关闭窗口事件
- Qt之拦截关闭窗口的QCloseEvent简单使用
- QT在构造函数中关闭窗口
- Qt按ESC关闭模态对话框不触发closeEvent()问题解析
- QT窗口去掉最大化最小化关闭按钮
- Qt浅谈之二十App自动重启及关闭子窗口(六种方法)
- QT 应用程序关闭某个窗口时,关闭打开的所有其他窗口并退出程序
- QT的QHttp无信号发出,窗口程序关闭时崩溃