WxPython アプリ インスタンスを開始および停止するコマンド ライン ユーティリティがあります。コマンドを実行し続け、GUI アプリを使用できるように、アプリをスレッドで開始しています。
私の問題は、アプリを停止すると、アプリ ウィンドウにフォーカスするまでコンソールがハングし、その後閉じてしまうことです。アプリを終了するためにフォーカスが必要な理由がわかりません。
アプリ スレッドは次のようになります。
class RunAppThread(threading.Thread):
def run(self):
self.app = wx.App(redirect=False)
self.frame = AppWindow(None)
self.app.MainLoop()
def stop(self):
self.app.ExitMainLoop()
関連する CLI アクションは次のとおりです。
def startapp(self):
self.app = gui.RunAppThread()
self.app.start()
def stopapp(self):
self.app.stop()
self.app.join()
呼び出すのではなく、メインループを終了するためのより良い/正しい方法はありwx.App.ExitMainLoop()
ますか?