我正在尝试制作一个动态gui,它会根据在组合框中选择的值来更改其标签。我正在尝试使用.trace方法来完成此任务。我在当前设置中收到以下错误:“ area_labels接受0个位置参数,但给出了3个)
我在下面附上了代码的相关部分。
conda run
答案 0 :(得分:1)
跟踪将提供三个参数。 将您的功能更改为 area_labels(*事件) 要么 area_labels(a,b,c)
请点击此处查看说明What are the arguments to Tkinter variable trace method callbacks?
import tkinter as tk
from tkinter import ttk
def selection(*trace_event):
print('the trace arguments',trace_event)
chosen['text'] = options.get()
ROOT = tk.Tk()
val = tk.StringVar()
options = ttk.Combobox(textvariable=val,
values=('a','b','c'))
options.grid()
val.trace('w', selection)
chosen = tk.Label(text='No selection')
chosen.grid()
ROOT.mainloop()