1

リストボックスのアイテムインデックス0への自動選択のこの機能は厄介だと思います。私のスクリプトには、lb1、lb2、lb3という3つのリストボックスがあります。ユーザーがlb2またはlb3のアイテムを選択した場合、メッセージボックスをポップアップして、lb1からアイテムのみを選択するようにユーザーに依頼するつもりです。ただし、lb2とlb3の自動選択アイテムインデックス0により、lb1のアイテムをクリックするたびに、メッセージボックスも表示されます。

質問:リストボックスでアイテムインデックス0の初期選択を無効にするにはどうすればよいですか?

これは、ユーザーがlb2またはlb3からアイテムを選択した場合にMessageBoxを呼び出すスクリプトの一部です。

if lb2.get(ACTIVE) or lb3.get(ACTIVE):
    tkMessageBox.showwarning("Warning","Please select from lb1 ")

ご意見をお聞かせください!意図したアクションを実行する他の方法も実行されます。ありがとう。

4

1 に答える 1

1

どのOSを使用していますか?

このコード(effbot.orgのTkinterリストボックスリファレンスページから取得)をWindowsで実行すると、リストボックスでデフォルトの選択が行われません。

from Tkinter import *
master=Tk()
listbox=Listbox(master)
listbox.pack()
for item in ['one','two','three','four']:
    listbox.insert(END, item)

編集: OK、今私はあなたが何を求めているのかわかります。curselectionを使用する前に、まずメソッドを確認する必要がありますget(ACTIVE)

if listbox.curselection():
    item = listbox.get(ACTIVE)

それは役に立ちますか?より完全な例はここにあります。

于 2012-06-20T12:05:21.173 に答える