1

我是 Tkinter 和 Python 3.3 的新手,并试图开发一个简单的 GUI。我有一个标签“statusLabel”。当我单击按钮时,我想更新按钮回调中标签中的值,但出现错误。

line 12, in reportCallback
    statusLabel.config(text="Thank you. Generating report...")
AttributeError: 'NoneType' object has no attribute 'config'

下面是我的代码

from tkinter import *
root = Tk()

Label(root,text="Project folders. Include full paths. One project per line").pack()
Text(root,height=4).pack()
Label(root,text="Standard project subfolders. Include path from project.").pack()
Text(root,height=4).pack()

statusLabel = Label(root,text="Oh, hello.").pack()

def reportCallback():
    statusLabel.config(text="Thank you. Generating report...")

b = Button(root, text="Generate Report", command=reportCallback).pack()

root.mainloop()
4

1 回答 1

2

这条线是问题所在:

statusLabel = Label(root,text="Oh, hello.").pack()

.pack()返回None。大概,您想要statusLabel持有对Label您刚刚创建的对象的引用。

试试这个:

statusLabel = Label(root,text="Oh, hello.")
statusLabel.pack()

例如,请参阅此处第一个清单中的琐碎程序:http: //effbot.org/tkinterbook/label.htm

于 2013-03-20T16:15:03.990 回答