0

在我的游戏中,我有一个__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)

这些都说 thatself.entry1是一个NoneType对象,并且没有方法.get().delete(). 只是为了尝试一下,我用self.entry1.get()self.entry1.delete(0,END)替换了self.string1.get()等等。我也尝试用.delete(0, END)替换.delete(0.0, END)。这些都不起作用。我不明白我做错了什么。谢谢你的帮助!

4

1 回答 1

2

当你做这样的事情时:

self.foo = Button(...).grid(...)

...然后存储的self.foo是对grid(). 这将永远是None。您需要将小部件创建与布局分开,以便保存对已创建小部件的引用。

于 2013-02-14T00:32:35.170 回答