2011-12-19 13 views
6

ユーザーが赤い "X"(ウィンドウを閉じるボタン)をクリックした場合でも、特定のブール値フラグに基づいてアプリケーションを終了/無視することができるかどうかは疑問でした。Qtアプリケーションキャンセル終了イベント

私はC#プログラマーですが、.netアプリケーションではかなり簡単ですが、Qtフレームワークにはかなり新しく、googleで検索しても関連する結果は得られませんでした。

おかげで、

答えて

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

回答を改善するために、記事へのリンクに加えてサンプルコードを提供することもできます。最高の答えは常にソースが含まれています! –

関連する問題