Tkinter中.configure()与.pack()联用报错:NoneType无configure属性
问题解决:Tkinter Label.pack()后无法用configure修改文本
问题根源
你踩了Tkinter新手常犯的错误:把Label创建和.pack()布局写在同一行赋值了。Tkinter的布局方法(pack()/grid()/place())返回值都是None,所以你的label_file_explorer变量实际存的是None,调用configure()自然会报'NoneType' object has no attribute 'configure'错误。
修复方案
把Label的创建和布局拆成两行写:
# 先创建Label实例,赋值给变量 label_file_explorer = Label(window, text="Label", width=100, height=4, fg="blue") # 单独调用pack()完成布局 label_file_explorer.pack()
这样label_file_explorer保存的就是Label对象,后续在browseFiles()里调用configure()修改文本就正常了。
额外提醒
所有Tkinter控件的布局方法都不能和创建语句链式赋值,必须分开执行,否则都会出现类似的NoneType属性错误。
内容的提问来源于stack exchange,提问作者Eric Dirla
相关产品推荐
相关产品推荐

