1

我想知道如何根据Combobox下拉列表选择在不同的标签中有多个值。例如,假设您有一个Combobox值 ( car, house, computer) 和多个Labels 在选择 时反映不同的大小和颜色Combobox。如果我选择car,我将有 size: big, color:black 等等......

4

2 回答 2

5

Combobox 小部件生成虚拟事件<<ComboboxSelected>>,您可以使用它来根据当前值更改标签的选项:

import Tkinter as tk
import ttk

values = ['car', 'house', 'computer']
root = tk.Tk()
labels = dict((value, tk.Label(root, text=value)) for value in values)

def handler(event):
    current = combobox.current()
    if current != -1:
        for label in labels.values():
            label.config(relief='flat')
        value = values[current]
        label = labels[value]
        label.config(relief='raised')

combobox = ttk.Combobox(root, values=values)
combobox.bind('<<ComboboxSelected>>', handler)
combobox.pack()
for value in labels:
    labels[value].pack()

root.mainloop()
于 2013-06-04T19:58:16.537 回答
3

您可以将 textvariable 属性分配给组合框,然后对该变量进行跟踪。每当组合框的值更改时,跟踪将导致调用函数。然后,您可以在此功能中为所需的任何标签设置文本。

于 2013-06-04T19:45:20.080 回答