PyQtアプリケーション終了時のプロンプト 質問する

PyQtアプリケーション終了時のプロンプト 質問する

Python で書かれた GUI プログラムを終了するようユーザーに促す方法はありますか?

「プログラムを終了してもよろしいですか?」のようなメッセージです。

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

ベストアンサー1

はい。アプリケーションを表す 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()

PyQt のチュートリアル言及された翻訳者これについては良い議論があります。また、PyQt ページPython.orgでは特に公式リファレンスイベントとその処理方法の詳細については、 を参照してください。

おすすめ記事