多くのソフトウェアには、メニューバー項目に「終了」アクションがあります。私はpyqt4でそれを実装する方法を知っているのだろうか.
QtCore.QCoreApplication.quit()
このメソッドが呼び出されたときにアプリケーションのメイン ウィンドウがすぐに消えないため、メソッドを呼び出すだけでは不十分だと思います。
quit()
「終了」するには、メソッドを呼び出すだけでなく、同時にアプリケーションのメイン ウィンドウを閉じる必要があると思います。
どう思いますか ?
デフォルトでは、quitOnLastWindowClosedがに設定されていない限り、アプリケーションは最後のウィンドウが閉じられたときに終了しFalse
ます。
したがって、通常close()
はメインウィンドウを呼び出すだけで十分です。
ただし、ここで考慮すべきもう1つのことは、アプリケーションを閉じる前に最終的なアクションを実行する必要があるかどうかです(たとえば、設定の保存、変更されたドキュメントを保存するかどうかのユーザーへの確認など)。
したがって、メインウィンドウのcloseEvent関数を再実装することも一般的です。