使用Entry Delete Method时出现Tkinter错误

时间:2013-02-13 23:49:12

标签: methods tkinter typeerror tkinter-entry

在我的游戏中,我有一个__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.entry1NoneType个对象,没有方法.get().delete()。只是尝试一下,我用self.entry1.get()代替self.entry1.delete(0,END)self.string1.get(),等等。我也尝试用.delete(0, END)替换.delete(0.0, END)。这些都没有奏效。我不明白我做错了什么。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

当你做这样的事情时:

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

...然后self.foo中存储的内容是调用grid()的结果。这将永远是None。您需要将窗口小部件创建与loyout分开,以便保存对创建的窗口小部件的引用。