多个Ttk条目小部件导致语法错误

时间:2013-12-16 04:51:40

标签: python syntax widget ttk tkinter-entry

我一直在使用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岁。

1 个答案:

答案 0 :(得分:1)

您之前错过了该行的右括号:

start_entry.grid(column=1, row=1, sticky=(E, W)
#                                              ^
end_entry = ttk.Entry(mainframe, textvariable = end)

根据经验,如果您发现自己遇到了无法解释的语法错误,请确保前面的行具有正确的闭括号。