これ何て呼びますか

PythonのTkinterイベントについて悩んでいます。

Labelのテキストが変更されたら他のLabelのテキストを自動で変更をしたいと思います。
例えば、Label Aのテキストが変更されたらLabel Bのテキストが自動で変更するということです。
しかし、テキストが変更されたときにどのようなイベントが発生しているのかがわからずに悩んでいます。あるいは、テキストが変更したときにはイベントは発生しないのでしょうか?もし発生しないのであれば何か自動で変更するようにできないでしょうか?
お手間をおかけしますが、どなたかお教えいただければと思います。
よろしくお願いいたします。

A 回答 (2件)

元々イベントは無いけど、StringVarで出来そうだけど。



①tk.StringVarで作ったオブジェクトを作る。
②Labelのtextvaviableに①のオブジェクトを指定。
③①のオブジェクトのtraceメソッドでオブジェクトに
イベントハンドラを割当てる
④ラベルの変更は①のオブジェクトのsetメソッドで行なう。
    • good
    • 0

えーと、TextBoxでなくLabelですよね。

Labelって勝手に変更されるものではないので、Labelを書き換えるコードがあるわけですよね。そこでもう一つのLabelも書き換えれば良いのではないですか?
なおtkinter(最初を大文字にするのはpython2の書き方でPython3では全部小文字です)イベントはマウスボタン押下/離脱、キー押下/離脱、マウス移動で、文字変化のようなときに仮想イベントを生成するのは難しそうです。テキストの変更点を集約しておかないと確実な検知は難しそうですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報