Tkinter Entry组件占位符不显示且报AttributeError错误求助
解决tkinter Entry组件调用insert时的AttributeError错误
问题根源在于这行代码:
entryvar = Entry(name).pack()
tkinter的pack()(包括grid()、place())布局方法返回值为None,因此entryvar实际指向的是None,而非创建的Entry组件实例,调用insert()自然会触发AttributeError。
正确写法需要将组件实例化和布局操作分开:
# 先创建Entry实例并赋值给变量 entryvar = Entry(name) # 再调用布局方法 entryvar.pack() # 此时entryvar指向Entry对象,可正常调用insert方法 entryvar.insert(0, 'Enter')
所有tkinter可视化组件的布局方法都返回None,必须遵循“先赋值实例,再执行布局”的写法,才能保留对组件实例的引用,进而调用其方法。
内容的提问来源于stack exchange,提问作者skljjdjncnjcajn
相关产品推荐
相关产品推荐

