PythonのTkinterでの質問です。
クラスを跨いでの関数の実行、制御をおこなう為に
event_generate()を利用して、任意の関数を実行させようと考えました。
しかし、event_generate()を介して値を渡したいと考え、調べても情報が少なく期待する情報を見つけることができず、質問させて頂きました。
class Class1: def __init__(self,root): self.root = root self.root.event_generate("<<hoge>>",when="tail",data=3.14(<<これが渡したい値)) class Class2: def __init__(self,root): self.root.bind("<<hoge>>",lambda e: self.function(e.data)) ↑このようにクラスを跨いでも、イベントを発火させ値を渡したい def function(self,data): print(data)
上記は簡易化したものですが、このように記述をすると"-data"が正式なパラメータではないと弾かれてしまいます。
一応、グローバル変数を用いて実装できないことはないのですが、仮想イベントを多用するため可読性にかけてしまう気がして、避けたいと考えました。
もし、event_generate()以外に良い手法がありましたら、教えていただけると幸いです。
何卒、よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/03 12:00