在我的游戏中,我有一个__init__
函数,可以创建一组七个输入框,如下所示:
self.string1 = StringVal()
self.entry1 = Entry(frame, textvariable = self.string1).grid(row = 4, column = 1, sticky = W)
这被复制了六次。这有效。 但是,在游戏结束时,我想删除条目框的文本,使用此代码我在网上找到了几个地方:
self.entry1.delete(0, END)
我也尝试过使用我发现的其他东西:
if self.entry1.get():
self.entry1.delete(0, END)
这两个都说self.entry1
是NoneType
个对象,没有方法.get()
或.delete()
。只是尝试一下,我用self.entry1.get()
代替self.entry1.delete(0,END)
和self.string1.get()
,等等。我也尝试用.delete(0, END)
替换.delete(0.0, END)
。这些都没有奏效。我不明白我做错了什么。
谢谢你的帮助!
答案 0 :(得分:2)
当你做这样的事情时:
self.foo = Button(...).grid(...)
...然后self.foo
中存储的内容是调用grid()
的结果。这将永远是None
。您需要将窗口小部件创建与loyout分开,以便保存对创建的窗口小部件的引用。