2009-09-12 28 views
17

Pythonで書かれたguiプログラムを終了する方法はありますか?PyQtアプリケーションの終了時にプロンプ​​ト

「プログラムを終了してもよろしいですか?

私はPyQtを使用しています。

+0

[PyQt4チュートリアルのこの部分]の「メッセージボックス」セクション(http://zetcode.com/tutorials/pyqt4/firstprograms/)を参照してください。 *([las3rjock](http://stackoverflow.com/users/94732/las3rjock)からの回答)* –

+0

[PyQt4チュートリアルのこの部分]の "メッセージボックス"セクションを見てください(http://zetcode.com/tutorials/pyqt4/firstprograms /)を参照してください。 – las3rjock

答えて

45

はい。アプリケーションを表すQWidgetのデフォルトの終了動作をオーバーライドして、イベントを直ちに受け入れないようにする必要があります。

def closeEvent(self, event): 

    quit_msg = "Are you sure you want to exit the program?" 
    reply = QtGui.QMessageBox.question(self, 'Message', 
        quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) 

    if reply == QtGui.QMessageBox.Yes: 
     event.accept() 
    else: 
     event.ignore() 

las3rjock言及PyQtはtutorialはこの素敵な議論を持っている:あなたが望む基本的な構造は、このようなものです。また、イベントやその処理方法の詳細については、PyQt page(特にofficial reference)のリンクを参照してください。

+0

ああ、ありがとう! –

+2

「はい」と「いいえ」を他の言語で設定するにはどうすればよいですか?私のメッセージが、例えばドイツ語であれば、私は "はい"と "いいえ"の代わりに "ジャ"と "ニック"をしたい。 – Aleksandar

+0

私のために働いてくれました(変更は必要ありません)! –

関連する問題