[英]How to open drop-down list of combobox when user types in text field?
我正在嘗試編寫一個事件,以便當用戶單擊組合文本字段時,它應該打開與擊鍵匹配的combobox
的下拉列表。
例如,如果用戶在文本字段中鍵入“a”,它應該顯示帶有所選文本“a”的下拉列表。
如果用戶鍵入“cc”,它應該打開列表和 select 匹配文本的項目,等等。 這是一個缺少事件的小代碼。
import tkinter as tk
from tkinter import ttk
tkwindow = tk.Tk()
lst = ['a','aa', 'aaa', 'b', 'c','cc','ccc','d']
cbox = ttk.Combobox(tkwindow, values=lst)
cbox.grid(column=0, row=0)
tkwindow.mainloop()
新手更容易(入門級)。
代碼:
import tkinter as tk
root = tk.Tk()
lst = ('a','aa', 'aaa', 'b', 'c','cc','ccc','d' )
def checkkey(event):
value = event.widget.get()
if value == '':
data = lst
else:
data = [item for item in lst if value.lower() in item.lower()]
update(data)
def update(data):
lb.delete(0, 'end')
for item in data:
lb.insert('end', item)
e = tk.Entry(root)
e.pack()
e.bind('<KeyRelease>', checkkey)
lb = tk.Listbox(root)
lb.pack()
update(lst)
root.mainloop()
Output 用戶輸入:
Output 用戶類型 b:
Output 用戶類型 c:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.