如何使用QCloseEvent退出程序
How to exit program with QCloseEvent?
我已经覆盖了登录对话框.h文件中的closeEvent函数,以便它在发出时退出程序:
void closeEvent(QCloseEvent *event){exit(0)}
然而,无论我点击对话框中的哪个按钮,它似乎都会退出程序。如何仅在单击右上角的"x"按钮时退出?
closeEvent()。显然,如果你点击对话框的"确定"或"取消"按钮,它就会关闭。这很正常。
此外,传递给closeEvent()的事件应该被接受或忽略。您不应该只是退出()应用程序。例如:
void closeEvent(QCloseEvent *event)
{
if (The dialog should close)
event->accept();
else
event->ignore(); // Don't close.
}
窗户为什么要关上并不重要。用户是否单击了"确定"、"取消"或窗口框架中的"X"按钮。你说不出来。一场势均力敌的事件就是这样;窗户想关上。
如果该对话框是最后一个打开的窗口,那么QApplication::exec()将返回,您的程序将正常关闭。
相关文章:
- 为什么异常不退出程序?
- 虽然循环在使用回车键时不退出程序
- 如果 I/O read() 处于阻塞阶段,如何使用 Ctrl+C 退出 C++ 程序?
- 捕获异常后如何退出程序执行
- 在C++中使用exit()退出程序有问题吗
- 从函数打印 CLI 帮助消息后,我应该如何干净地退出 C++ 程序?
- 如何实现否定用户输入退出程序和打印列表?
- gdb 退出:程序接收信号 SIGILL,使用 gcc / intel_mkl / gfortran -mavx 编译的
- 试图调节我的 do-while 以停止在终端中退出程序.菜单不会根据需要循环使用当前语句
- 如何在C 中按ENTER/返回键时退出程序循环
- 退出程序,默认开关
- 我想让程序保持运行,直到用户输入 n 退出程序
- 我找不到第一个用户输入后立即退出程序的原因
- 安全地退出程序 Win32 C++从分离的 std::线程
- 如何使用QCloseEvent退出程序
- 在主之前退出程序是明确的行为吗?
- C++键盘挂钩-退出程序,但也防止密钥在其他地方被处理
- 在类中运行析构函数时退出程序
- 由于删除 [] 而未退出程序
- 输出缓冲区和Cntrl+C以退出程序