Pythonで書かれたGUIプログラムを終了するようにユーザーに促す方法はありますか?
「本当にプログラムを終了しますか?」のようなものです。
私はPyQtを使用しています。
はい。イベントをすぐに受け入れないように、アプリケーションを表す 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チュートリアルには、これに関する素晴らしい議論があります。また、Python.org のPyQt ページのリンク、特に公式リファレンスをチェックして、イベントとその処理方法の詳細を確認してください。