Qt应用程序取消退出事件

时间:2011-12-19 19:44:20

标签: c++ qt

我想知道是否有可能忽略/取消退出应用程序基于某个布尔标志设置,即使用户单击红色“X”(关闭窗口按钮)。

我是一名c#程序员,我知道.net应用程序很容易做到,但我对qt框架很新,在google上搜索没有获取任何相关结果。

谢谢,

1 个答案:

答案 0 :(得分:15)

Qt的文档描述了这个特定的use-case about asking permission to close in their examples

如果你以QMainWindow为子类并重新实现closeEvent功能,当有人试图关闭它时,你可以为你的应用提供自定义行为。例如:

void MainWindow::closeEvent(QCloseEvent *event)
{
    if (maybeSave()) {
        writeSettings();
        event->accept();
    } else {
        event->ignore();
    }
}