python 3.6使用.grid时Tkinter Label属性错误

时间:2018-01-20 17:50:48

标签: python tkinter

我开始了解tkinter,但我遇到了一个问题。我想创建一个标签,根据Entry字段的值显示相应的消息,由按钮检查。当重复使用它时,仅使用tk.Label命令将叠加在现有标签的顶部,因此我尝试将标签分配给变量:

messagebox=tk.Label(root2,text="                       ",font(style,font).grid(row=1,column=0,columnspan = 50))

我想稍后使用.configure命令来更改此文本,但是我收到此错误:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
File "C:[CENSORED BY POSTER (me), It was just the file directory]", line 84, in Checkpass
messagebox = tk.Label(root2,text="                       ",font=(style,font).grid(row=1,column=0,columnspan = 50))
AttributeError: 'tuple' object has no attribute 'grid'

任何人都可以告诉我我做错了什么,并解释为什么它不会工作。 谢谢, TAVA

1 个答案:

答案 0 :(得分:2)

检查font(style,font).grid处的括号。可能应该是:

messagebox=tk.Label(root2,text="                       ",font(style,font)).grid(row=1,column=0,columnspan = 50)

但为了便于阅读,我个人建议将其拆分为两行:

messagebox = tk.Label(root2, text="                       ", font(style, font))
messagebox.grid(row=1, column=0, columnspan = 50)