Skip to main content
 首页 » 编程设计

python tkinter 打包

2025年05月04日17exmyth

有人可以解释为什么当你有一个普通的小部件时,一行代码 A 可以工作

Entry(root, width=10).pack(side=LEFT,anchor=W) 

但是当你给它命名或附加命令时,代码 A 不再有效并给你错误消息 B

self.my_entry = Entry(root, width=10).pack(side=LEFT,anchor=W) 

并且您必须使用单独的线路打包?

self.my_entry = Entry(root, width=10) 
self.my_entry.pack(side=LEFT,anchor=W) 

代码A

self.my_entry.get() 

错误信息 B

AttributeError: 'NoneType' object has no attribute 'get' 

请您参考如下方法:

pack 方法返回None。所以

self.my_label = Label(root, text="My Label").pack(side=LEFT,anchor=W) 

将 self.my_label 设置为 None。这就是为什么使用 self.my_label 的进一步命令不再有效的原因。

您已经找到了解决方案;在单独的行上调用 pack:

self.my_label = Label(root, text="My Label") 
self.my_label.pack(side=LEFT,anchor=W)