如何检测 ttk:comboBox 中的下拉菜单?

问题描述 投票:0回答:1

我正在尝试找出如何检测下拉菜单已被触发。原因是我想在发生这种情况时更新/刷新下拉列表内容。我发现了

“已选择组合框”

是唯一可以绑定的事件吗?有什么想法吗?

我刚刚尝试绑定标准小部件事件,但没有成功(作为新手)

python tkinter
1个回答
0
投票

您可以使用 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()
© www.soinside.com 2019 - 2024. All rights reserved.