l1=Listbox()
l1.pack(side=LEFT)
l1.insert(END, *xrange(1,4))
l2=Listbox()
l2.pack(side=RIGHT)
l2.insert(END, *'abc')
、アンダースコアは、他のリストボックスにジャンプするが、私はアップ/ダウンの矢印を使用して起動したときに、カーソルだけで参加する移動します。タブを押す際に、アンダースコアといっしょにホップすることは可能ですか?押すとタブが「アクティブ」は下線が、私はタブを押すとないカーソルは
編集:これは、アクティブな項目にselect_set()メソッドを呼び出すために、Tabキーを結合することによって行われる。
l1.bind('<Tab>', lambda e: l2.select_set(l2.index(ACTIVE)))
l2.bind('<Tab>', lambda e: l1.select_set(l1.index(ACTIVE)))
l.index(ACTIVE)を活性の指標を返します項目は、Tabキーを押した後にアンダースコアを含むものです。
これはl.select_set()を使用して「選択」に設定され、カーソルも同様に移動します。
ここでは何も使用されていませんが、tkinterバインドから呼び出された関数には暗黙的にイベントオブジェクトが与えられているため、ラムダ後の "e"は必須です。
これは便利です。
最後に、リストボックスの 'activestyle'プロパティに応じて、アンダースコア(または 'dotbox')がアクティブなアイテムをマークし、カーソルが選択されたアイテムのマークであることがわかりました。タブはACTIVE属性を適切なリストボックス内の項目に変更するだけなので、その項目もカーソルをカーソルに移動するために「選択済み」としてマークされる必要があります。これは、Tabキーをバインドして追加のマナバーを許可することによって行われます。私はそれがどのように行われたかを示すために質問を編集しました。 – Jay