我一直在使用TTK和python 3.2
尝试使用条目小部件和将变量映射到函数我一直在这里遇到语法错误但无法找到它。
from tkinter import *
from tkinter import ttk
def overlap(*args):
start = begin.get()
stop = end.get()
time.set(int(stop)-int(start))
root = Tk()
root.title('RadioButton')
mainframe=ttk.Frame(root, padding='3 3 12 12')
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
begin = StringVar()
end = StringVar()
time = StringVar()
start_entry = ttk.Entry(mainframe, textvariable = begin)
start_entry.grid(column=1, row=1, sticky=(E, W)
end_entry = ttk.Entry(mainframe, textvariable = end)
end_entry.grid(column=2, row=1, sticky=(E, W)
ttk.Lable(mainframe, textvariable=time).grid(column=1, row=2, sticky=(E, W))
ttk.Button(mainframe, text='calculate', command=overlap).grid(column=1, row=3, sticky=(E, W))
begin_entry.focus()
root.bind('<Return>', overlap)
root.mainloop()
我迷路了,我错过了什么? 它给我的错误:
end_entry = ttk.Entry(mainframe,textvariable = end)
SyntaxError:语法无效
我认为你可以告诉我对ttk不太了解所以请尝试向我解释,就像我约5岁。
答案 0 :(得分:1)
您之前错过了该行的右括号:
start_entry.grid(column=1, row=1, sticky=(E, W)
# ^
end_entry = ttk.Entry(mainframe, textvariable = end)
根据经验,如果您发现自己遇到了无法解释的语法错误,请确保前面的行具有正确的闭括号。