2011-12-19 39 views
6

我想知道是否有可能忽略/取消某些基於布爾標誌設置,即使用戶要點擊紅色的「X」(關閉窗口按鈕)的退出應用程序。Qt應用程序取消退出事件

我是一個C#程序員,我知道這是很容易的.NET應用程序做的,但我是相當新的Qt框架和搜索對谷歌沒有取得任何相關的結果。

感謝,

回答

14

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(); 
    } 
} 
+1

要改進答案,您可以提供示例代碼,除了鏈接到文章。最好的答案始終包括源代碼! – 2014-06-19 19:53:41