GUI を作成しましたが、ある時点でフレームがメインフレームの子として開かれ、他のフレームを開いた関数は、このフレームが閉じられたときにのみ続行する必要があります。
これが機能しない理由がわかりません:
def ShowFrame(completeEvent):
frame = MyFrame(self, completeEvent, ...)
frame.Show()
self.completeEvent = threading.Event()
thread = threading.Thread(target=ShowFrame, args=(self.completeEvent,))
thread.start()
self.completeEvent.wait()
この例を実行するとメインフレームがフリーズし、「MyFrame」は表示されません。スレッドが開始されておらず、completeEvent を待っているか、開始されているが開始コマンドに到達していないようです...私が理解していないこと。通常、MyFrame が表示され、それを閉じると、completeEvent が設定され、mainFrame が続行されます。wx.CallAfterも試しましたが、それも役に立ちません...ダイアログやmakemodalなどを使用せずに、他のフレームが閉じられるまでメインフレームを待機させる方法を誰か教えてもらえますか?