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

使用.grid时python 3.6 Tkinter标签属性错误,python,tkinter,Python,Tkinter,我开始掌握特金特的窍门,但我遇到了一个问题。我想创建一个标签,根据输入字段的值显示适当的消息,并通过按钮进行检查。重复使用时,仅使用tk.Label命令将覆盖在现有标签的顶部,因此我尝试将标签分配给变量: messagebox=tk.Label(root2,text=" ",font(style,font).grid(row=1,column=0,columnspan = 50)) 我想稍后使用.configure命令更改此文本,但出现以下错误: E

我开始掌握特金特的窍门,但我遇到了一个问题。我想创建一个标签,根据输入字段的值显示适当的消息,并通过按钮进行检查。重复使用时,仅使用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

检查
字体(样式,字体).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)

检查
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)

不仅是为了可读性,而且如果没有像那样分开
messagebox
只返回
None
。我怀疑OP想要什么。非常感谢!还有,有人能解释一下为什么它返回
None
?这仅仅是tkinter事件还是背后有实际原因?@Tava,因为您创建了一个小部件并在同一行上调用
.grid
grid()
方法返回
None
,因此对小部件的引用不会存储在任何地方。因此,如果您需要存储对小部件的引用,则分别调用小部件创建和
grid()
,如我的回答和Nae的链接所示。不仅是为了可读性,而且如果没有像
messagebox
那样分开,只会返回
None
。我怀疑OP想要什么。非常感谢!还有,有人能解释一下为什么它返回
None
?这仅仅是tkinter事件还是背后有实际原因?@Tava,因为您创建了一个小部件并在同一行上调用
.grid
grid()
方法返回
None
,因此对小部件的引用不会存储在任何地方。因此,如果您需要存储对小部件的引用,则分别调用小部件创建和
grid()
,如我的回答和Nae的链接所示。