event_generate() メソッドを介してカスタム パラメータ (たとえば文字列) を渡す方法はありますか?
問題は、2 つのスレッドがあることです。そのうちの 1 つは、もう 1 つのイベント ハンドラーで必要な変数を渡す必要があります。def refreshCanvas(self, event, param) などの追加パラメーターを使用して eventHandler を宣言しようとしましたが、event_generate() を介して param を渡すことができません。
また、文字列であるはずの既存のパラメーター「状態」としてそれを渡そうとしましたが、どちらも機能しません。
イベントを生成するクラス:
class GameThread(Thread):
def __init__(self, gameInstance, gui):
Thread.__init__(self)
self.__gameInstance = gameInstance
gui.event_generate("<<refresh>>", when="tail", state=str(self.__gameInstance.getState()))
このイベントをキャッチするクラス:
class App(ttk.Frame):
def __init__(self, parent=None):
ttk.Frame.__init__(self, parent)
parent.bind("<<refresh>>", self.refreshCanvas)
def refreshCanvas(self, event):
#something
pass