Tkinter のバインドタグについて
Tkinter を使用する場合、バインドタグはイベント処理において重要な役割を果たします。質問で述べたように、バインドタグの順序はイベント値の可視性に影響を与える可能性があります。この動作が発生する理由を調べてみましょう。
Tkinter では、イベントがトリガーされると、システムはイベントを受信したウィジェットに関連付けられたさまざまなバインド タグにアタッチされたバインディングをチェックします。デフォルトでは、これらのバインド タグには、ウィジェット自体、そのクラス、およびいくつかのグローバル タグが含まれます。
最初のケース: デフォルトのバインドタグ
エントリ ウィジェットにデフォルトのバインドタグを使用する場合、順序は ('.entry1', 'Entry', '.', 'all') です。これは、次のことを意味します。
Issue: この場合、イベント値は、event.widget.get( を使用して取得されるため、関数定義には表示されません) )。関数が呼び出されるまでに、クラス バインディングはすでに実行されており、イベント値 (この例では文字「x」) がウィジェットに挿入されています。
2 番目のケース: 変更済みBindtags
2 番目のケースでは、3 番目のエントリ ウィジェットのバインドタグの順序が次のように変更されます。 ('.entry1','Entry','post-class-bindings', '.', 'all').
以上がTkinter のバインドタグの順序がイベント値の可視性に影響を与えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。