我想知道如何在不同的标签中使用多个值,具体取决于组合框下拉列表选择。例如,假设您有一个组合框,其值(汽车,房屋,计算机)和多个标签在选择组合框时反映不同的大小和颜色。如果我选择汽车,我将有尺寸:大,颜色:黑色等等......
提前致谢。
此致
赫
答案 0 :(得分:4)
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()
答案 1 :(得分:3)
您可以将textvariable属性分配给组合框,然后对该变量进行跟踪。只要组合框的值发生变化,跟踪就会调用一个函数。在此功能中,您可以为所需的任何标签设置文本。