当我尝试运行此代码时,我总是收到错误消息。 我有Tkinter文档并已阅读。我试图将文本放入一个人开始打字后会消失的字段。这是代码。
class MyGrid(Frame):
def __init__(self, win=None):
Frame.__init__(self, win)
self.grid()
self.mkWidgets()
def mkWidgets(self):
self.mytext = StringVar()
self.mytext.set("Enter text here")
self.e = Entry(bg='orange', textvariable=mytext, relief=SUNKEN, width=45)
self.e.grid(row=0, column=0)
app = MyGrid()
app.mainloop()
我总是收到这个错误:
NameError: global name 'mytext' is not defined
答案 0 :(得分:1)
我的第一个调试规则:假设错误告诉了字面意义。在这种情况下,它表示mytext
未定义。当我查看你的代码时,我必须同意:你没有定义一个名为mytext
的全局变量。
你做,然而,定义一个名为self.mytext
的东西。您应该在以下代码行中使用它:
self.e = Entry(bg='orange', textvariable=self.mytext, relief=SUNKEN, width=45)
答案 1 :(得分:-1)
使用它:
import tkinter
root = tkinter. Tk()