我想知道是否有可能忽略/取消退出应用程序基于某个布尔标志设置,即使用户单击红色“X”(关闭窗口按钮)。
我是一名c#程序员,我知道.net应用程序很容易做到,但我对qt框架很新,在google上搜索没有获取任何相关结果。
谢谢,
答案 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();
}
}