我正在尝试找出如何检测下拉菜单已被触发。原因是我想在发生这种情况时更新/刷新下拉列表内容。我发现了
“已选择组合框”
是唯一可以绑定的事件吗?有什么想法吗?
我刚刚尝试绑定标准小部件事件,但没有成功(作为新手)
您可以使用 postcommand
的
ttk::Combobox
选项在显示下拉列表之前调用函数,并在该函数内设置下拉列表的值。
下面是一个例子:
import random
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
choices = [f'Choice #{i}' for i in range(1, 20)]
def before_post():
values = random.choices(choices, k=5)
combo.config(values=values)
combo = ttk.Combobox(root, postcommand=before_post, state='readonly')
combo.pack(padx=20, pady=10)
root.mainloop()