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