python tkinter包装

时间:2012-01-17 14:52:57

标签: python widget tkinter packing

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

1 个答案:

答案 0 :(得分:6)

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)