1

有人可以解释一下为什么当你有一个普通的小部件作为一行代码 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'
4

1 回答 1

6

pack方法返回None。所以

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

设置self.my_labelNone。这就是使用其他命令self.my_label不再起作用的原因。

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

self.my_label = Label(root, text="My Label")
self.my_label.pack(side=LEFT,anchor=W)
于 2012-01-17T14:59:55.093 回答