簡體   English   中英

當用戶在文本字段中鍵入時,如何打開 combobox 的下拉列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM