当预期为0时,Tkinter跟踪方法将返回3个变量

时间:2018-10-07 04:32:05

标签: python-3.x tkinter

我正在尝试制作一个动态gui,它会根据在组合框中选择的值来更改其标签。我正在尝试使用.trace方法来完成此任务。我在当前设置中收到以下错误:“ area_labels接受0个位置参数,但给出了3个)

我在下面附上了代码的相关部分。

conda run

1 个答案:

答案 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()