Fixing error: 'StringVar' object not callable in Python
Fixing error: 'StringVar' object not callable in Python
我目前正在尝试刷新 python 中输入字段中的内容,下面是我的代码:
from tkinter.filedialog import *
from tkinter import *
master = Tk()
menu = Menu(master)
master.config(menu=menu)
Label(master, text='Camera File:').grid(row=0, column=1)
def carddir_get():
temp_carddir = askdirectory(parent=master, title='Please select a directory')
print(temp_carddir)
cdg.delete(0,END)
cdg.insert(0,temp_carddir)
temp_carddir = StringVar()
temp_carddir.set("/path/to/card/")
temp_carddir.trace("w", temp_carddir)
cdg = Entry(master, textvariable=temp_carddir)
cdg.grid(row=0,column=2)
Button(master, text='Browse', command=carddir_get).grid(row=0, column=3)
mainloop()`
正如我在评论中所说,我不使用 Tkinter,但似乎 trace
期望将回调作为其第二个参数。
我替换了:
temp_carddir.trace("w", temp_carddir)
与:
temp_carddir.trace("w", lambda nm, idx, mode: print('nm={}, idx={}, mode={}'.format( nm, idx, mode)))
打开和关闭对话框后,我现在在控制台中看到以下输出而不是错误:
nm=PY_VAR0, idx=, mode=w
希望这对你来说比对我更有意义,你可以从这里继续。
我目前正在尝试刷新 python 中输入字段中的内容,下面是我的代码:
from tkinter.filedialog import *
from tkinter import *
master = Tk()
menu = Menu(master)
master.config(menu=menu)
Label(master, text='Camera File:').grid(row=0, column=1)
def carddir_get():
temp_carddir = askdirectory(parent=master, title='Please select a directory')
print(temp_carddir)
cdg.delete(0,END)
cdg.insert(0,temp_carddir)
temp_carddir = StringVar()
temp_carddir.set("/path/to/card/")
temp_carddir.trace("w", temp_carddir)
cdg = Entry(master, textvariable=temp_carddir)
cdg.grid(row=0,column=2)
Button(master, text='Browse', command=carddir_get).grid(row=0, column=3)
mainloop()`
正如我在评论中所说,我不使用 Tkinter,但似乎 trace
期望将回调作为其第二个参数。
我替换了:
temp_carddir.trace("w", temp_carddir)
与:
temp_carddir.trace("w", lambda nm, idx, mode: print('nm={}, idx={}, mode={}'.format( nm, idx, mode)))
打开和关闭对话框后,我现在在控制台中看到以下输出而不是错误:
nm=PY_VAR0, idx=, mode=w
希望这对你来说比对我更有意义,你可以从这里继续。