这是代码:

#!/usr/bin/python
from tkinter import *

class App:
    def _init_(self, master):

        frame = Frame(master)
        frame.pack()

    self.lbl = Label(frame, text = "Hello World!\n")
    self.lbl.pack()

    self.button = Button(frame, text="Quit", fg="red", command=frame.quit)
    self.button.pack(side=LEFT)

    self.hi_there = Button(frame, text="Say hi!", command=self.say_hi)
    self.hi_there.pack(side=LEFT)

    def say_hi(self):
        print("Hello!")

    root = Tk()
    root.title("Hai")
    root.geometry("200x85")
    app = App(root)
    root.mainloop()

在这里,错误:

Traceback (most recent call last):
  File "F:/HTML/HTMLtests/python/hellotkinter2.py", line 4, in <module>
    class App:
  File "F:/HTML/HTMLtests/python/hellotkinter2.py", line 10, in App
    self.lbl = Label(frame, text = "Hello World!\n")
NameError: name 'frame' is not defined

找不到错误的地方! 感谢任何帮助!

===============>>#1 票数:4

这里有很多错误:

  1. __init__ ,而不是_init_
  2. 您应该了解类成员变量(未在__init__设置)和实例成员变量(在__init__设置)之间的区别。 您使用self完全错误。
  3. 您的班级似乎以递归方式实例化了自己?
  4. 您应该分开关注,而不是拥有一个庞大的无形课程来完成整个任务。

您的错误是由于2引起的,但是直到您查看1和3才能完全解决。

===============>>#2 票数:1

缩进和大写带有一些下划线。 以下作品。

#!/usr/bin/python
from Tkinter import *

class App(object):
    def __init__(self, master):
        frame = Frame(master)
        frame.pack()

        self.lbl = Label(frame, text = "Hello World!\n")
        self.lbl.pack()

        self.button = Button(frame, text="Quit", fg="red", command=frame.quit)
        self.button.pack(side=LEFT)

        self.hi_there = Button(frame, text="Say hi!", command=self.say_hi)
        self.hi_there.pack(side=LEFT)

    def say_hi(self):
        print("Hello!")

root = Tk()
root.title("Hai")
root.geometry("200x85")
app = App(root)
root.mainloop()

  ask by Jacs translate from so

未解决问题?本站智能推荐:

3回复

Python 3 Tkinter:带有Entry小部件的NameError:未定义名称'Entry'

我正在使用Tkinter在Python 3上编写GUI,但是每次使用Entry()时,都会出现名称错误。 我尝试了更简单的代码版本(如下所述),但它仍然引起NameError: 这是我得到的错误: 我只是最近才再次开始编码,因此答案可能是一个非常简单的问题,我没有意识到代码
3回复

NameError:名称“ top”未定义

我正在尝试使用Tkinter创建一个GUI,代码是: 我试图运行代码,python给了我以下错误:
1回复

Tkinter全局名称保持时间未定义

那是我的程序。 该程序的目标是,当用户单击“开始”时,计时器将启动,并打印到标签上,并向他们显示从(Q,W,E,R)中随机选择的字母,他们必须尽快键入。 程序将对它们计时并在最后根据错误给出分数,并停止计时器。 我遇到的问题是它说: 此问题已修复! 另外,在进行一些更改之前
1回复

Python Tkinter-TextBox1未定义

我正在学习有关Python Tkinter的一些知识,并编写了以下简单代码: 我不知道为什么,但这给了我错误: NameError:全局名称“ Text1”未定义 如果我替换Text1与print_it高清Entry1 ,它不会给我任何错误。
1回复

为什么会出现错误:“ NameError:未定义全局名称'pupiluserinputbox'”

为什么会出现错误: NameError: global name 'pupiluserinputbox' ? 输入框在另一个过程中: 我如何才能使这项工作成功完成,而不会出现NameError ?
1回复

Python 3.4.1,Tkinter 8.6.3,类中的事件在查找类按钮时抛出“名称未定义”错误

我试图在用户单击另一个按钮后将按钮的状态设置为“正常”,但是由于某种原因,该事件似乎无法找到我要引用的按钮,并引发了NameError: name 'rawButton' is not defined'错误。 我试过在按钮前加上self. 但是然后我得到一个self not defined错
1回复

出现错误NameError:未为tkinter登录系统定义名称“ main_screen”

我不断收到错误 在尝试创建简单的tkinter登录系统时,我尝试将main_screen.mainloop更改为TK.mainloop
1回复

使用lambda命令时,Python tkinter NameError

我是Python的tkinter模块的新手,所以我将不胜感激,甚至能解释为什么根本不可能做到这一点(如果是这种情况)。 我有一个四元组的列表形式(foo, bar, x, y) ; 像这样的东西: 和一个for循环后其理想地实例化变量foo作为与所述文本的按钮bar ,与具有功能
1回复

在Python上定义命令时出现NameError

我不明白为什么我总是收到错误消息: NameError: name 'submit_answer' is not defined.
1回复

NameError:名称“ tk”未在对象类中定义

我已经构建了一个应用程序,源代码如下所示: 但是它的最后一部分无法执行: 它给出了NameError: 追溯(最近一次通话):文件“ / home / artur / Documents / MScProject / MSc Project / Task#179276