これはかなり簡単な問題のようですが、解決できません。次のコードを実行すると、最初のウィンドウに2つの入力ボックスが表示されます。 'TAB'キーを使用すると、2番目の入力ボックスが表示され、そこから値をListBoxから選択する必要があります。 ListBoxの値が最初のウィンドウの入力ボックスに来る必要がある部分をコーディングしましたが、選択が完了すると2番目のウィンドウを閉じることができません。ListBoxをReturnキーにバインドしてウィンドウを閉じるには
from Tkinter import *
def fn_jump(event=None):
def listbox_update(data):
# delete previous data
listbox.delete(0, 'end')
# put new data
for item in data:
listbox.insert('end', item)
def on_select(event):
# display element selected on list
print('(event) previous:', event.widget.get('active'))
print('(event) current:', event.widget.get(event.widget.curselection()))
a = (event.widget.get(event.widget.curselection()))
print a
txtbox2.delete(0, END)
txtbox2.insert(0,a)
#listbox.bind('<<Return>>', window3.quit()) #This is not working
window3 = Toplevel()
window3.title("This window popped out")
window3.geometry('{}x{}'.format(500,200))
listbox = Listbox(window3, width=60)
listbox.grid(row=0)
listbox.bind('<<ListboxSelect>>', on_select)
test_list = ('apple', 'banana', 'Cranberry', 'dogwood', 'alpha', 'Acorn', 'Anise', 'Strawberry')
listbox_update(test_list)
root = Tk()
txtbox1 = Entry(root)
txtbox2 = Entry(root)
txtbox1.grid(row=0)
txtbox2.grid(row=1)
txtbox2.bind('<KeyRelease>', fn_jump)
root.mainloop()
感謝。あなたのコメントは正しい方向に私を指摘しましたが、要件を満たしていませんでした。私は自分自身で回答を投稿します。 – mdabdullah
@mdabdullah私はウィンドウが再開してはならないという要件を知らなかった。これは、入力キーを解放する_is_は、 'txtbox2.bind( ''、fn_jump)'のために 'fn_jump'を呼び出す重要なリリースです。しかしそれは質問には含まれていません。 –
Nae