私はPythonアプリケーションを開発していると私は、UPnPを使用してポートを開きます。問題は、アプリケーションがプロセスによって強制的に閉じられると、ポートがまだ開かれていることです。だから、私はPyQt(または他の何か)のイベントを探して、プロセスが終了したときにいくつかのアクションを実行します。私はクローズボタンについて話していないことを確認してください。プロセスがPythonでPythonで終了していることをどのように通知できますか?
1
A
答えて
2
QApplications aboutToQuit信号は、この目的のために正確に構築されているように見えます。コードにスロットを追加し、この信号に接続するだけです。アプリケーションが終了する前にスロットに通知する必要があります。 PyQtはドキュメントから
:
アプリケーションは、例えば、メインイベントループを終了しようとしている場合、この信号が発せられますイベントループレベルがゼロに低下したとき。これは、アプリケーション内部からのquit()呼び出し後、またはユーザーがデスクトップセッション全体をシャットダウンするときに発生する可能性があります。
信号は、最後の2分のクリーンアップを実行する必要がある場合に特に便利です。この状態ではユーザーとの対話はできません。
(強調鉱山)
関連する問題
- 1. pythonプロセスが終了したときにサブプロセスを終了しますか?
- 2. スクリプトを終了することなくプロセスをPythonで終了するには?
- 3. プロセスが終了すると、ファイルオブジェクトはどのようにしてPythonでクリーンアップされますか?
- 4. どのようにしてonDrawが終了したかを知ることができますか?
- 5. python subprocess.Popen子プロセスでのプロセスの終了
- 6. 終了コード-9でPythonの子プロセスが突然終了する
- 7. どのようにプロセスをすべてのchildernで終了させることができますか
- 8. 小数点が終了するかどうかはどのように知ることができますか?
- 9. Pythonプロセスが終了したときにatexit()を実行する
- 10. どのように私はPythonでmsgboxを終了できますか? (python easygui site-package/moduleを使用して)
- 11. Tkinterプロセスがanaconda pythonで終了コード-1073741819(0xC0000005)で終了しました。3.5
- 12. プラグインがCRM 2016で終了する時期はどのように知ることができますか?
- 13. PYTHONプロセスが終了したときを検出する方法
- 14. プロセスが終了したときに消えるPythonロック
- 15. ブラウザが終了したときにPHPが通知できますか?
- 16. プロセスが終了したとき、またはAndroid上で殺されたときに通知を受ける
- 17. "join"を待っているpthreadを通知するときにプロセスが終了しました
- 18. アプリが終了したときにプッシュ通知によるディープリンク
- 19. 実行中のすべてのプロセスをPythonで終了する
- 20. Pythonのサブプロセス:コマンドが終了したときを知る
- 21. ReactPHP:終了プロセスと終了プロセスの違いは何ですか?
- 22. KeyboardInterruptでプロセスが終了しないようにするには?
- 23. fork()プロセスが終了したかどうかを確認するPython
- 24. アプリが終了したときの通知通知(iOS)
- 25. Pythonスクリプトが強制終了される理由を知るにはどうすればよいですか?
- 26. 私の関数がPythonでどのような値を返しているのかをどのように知ることができますか?
- 27. Pythonでスクリプトを終了すると、サブプロセスが終了する
- 28. クリックしてアプリを終了する通知を作成するにはどうすればよいですか?
- 29. Solaris上でPythonでプロセスを終了する際の問題
- 30. Pythonのif文を登録して終了できますか?
申し訳ありませんが、これは働いていない、私がやったこと:QtCore.QObject.connect(メインウィンドウ、QtCore.SIGNAL( 'aboutToQuit()')、self.exit)。 MainWindowはQMainWindowで、self.exitはテキストを出力する関数です。 :/ – Extaze
@Extaze aboutToQuitは、プログラムがメインウィンドウではなく終了しようとしているときです。 aboutToQuitを使用するには、QApplicationのaboutToQuitシグナルに接続する必要があります。 –
QtCore.QObject.connect(アプリ、QtCore.SIGNAL( 'aboutToQuit()')、ui.exit)まだ動作しません... – Extaze