python tkiner-未定义名称框架

时间:2015-08-26 09:59:00

标签: python tkinter

我在网站上发现了许多类似我的问题。但这些答案对我没有帮助,所以我不得不再提一个问题。

from tkinter import *
class Application(Frame):
    def __init__(self, master = None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()
    def createWidgets(slef):
        self.helloLabel = Label(self, text = 'Hello, world!')
        self.helloLabel.pack()
        self.quitButton = Button(self, text='Quit', command = self.quit)
        self.quitButton.pack()
app = Application()
app.master.title('Hello World')
app.mainloop()

我的操作系统是windows10,python版本是3.4.3

1 个答案:

答案 0 :(得分:1)

如果问题确实存在 -

atom.xml

然后我的猜测是你的系统中有一个tkinter.py,它掩盖了库中的实际NameError: name 'Frame' is not defined 模块。如果是这种情况,则重命名该文件,使其不屏蔽库模块。

此外,对于上面发布的代码,您还有另一个问题,即tkinter方法中的以下问题 -

self.createWidgets()

这是因为您在NameError: name 'self' is not defined 方法中拼错了self。它应该是createWidgets而不是self,但您尝试在那里使用slef。示例 -

self