2

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
4

1 に答える 1