Tkinter调用函数报错:'_tkinter.tkapp'对象无Label属性
问题解决:Tkinter AttributeError 报错修复
错误原因
- 变量名冲突:你将窗口实例命名为
tk,但在submitFunction中调用tk.Label时,这里的tk是窗口对象而非tkinter模块,窗口对象本身没有Label属性,因此触发报错。 - 方法调用缺失括号:
q1.pack仅引用了方法对象,未加括号执行,导致组件不会被布局显示。
修改后的代码
import tkinter import customtkinter # 将窗口实例名改为root,避免与模块名混淆 root = tkinter.Tk(className='Tkinter - TutorialKart') root.geometry("500x300") def submitFunction() : # 用tkinter模块调用Label类,同时指定父组件为root q1 = tkinter.Label(root, text="Hello, Tkinter") # 加括号执行pack布局方法 q1.pack() button_submit = tkinter.Button(root, text ="Submit", command=submitFunction) button_submit.config(width=20, height=2) button_submit.pack() root.mainloop()
额外提示
- 把窗口实例命名为
root是Tkinter的常规写法,能有效避免与模块名冲突,减少同类错误。 - 创建组件时显式指定父组件(如
tkinter.Label(root, ...)),可确保组件正确挂载到目标窗口,避免布局异常。
内容的提问来源于stack exchange,提问作者TYler tgfd
相关产品推荐
相关产品推荐

