Seite 1 von 1

NameError: name ’self‘ is not defined - Anfängerprob

Verfasst: Sonntag 29. Juli 2018, 17:27
von michi-monster
Hlali, ich bin eine Python-Anfängerin und komme leider nicht weiter. Der Fehler NameError: name ’self‘ is not defined
>>> erscheint beim Aufruf des folgenden Programms:

Code: Alles auswählen

    from tkinter import *
    root = Tk()
    class Application(Frame):
                    def calculate(self):
                                    self.calculation = Label(text=self.entry.get())
                                    self.calculation.pack(side="bottom")
    def createWidgets(self):
                    self.welcome = Label(self)
                    self.welcome["text"] = "Herzlich Willkommen"
                    self.welcome.pack(side="top")
                    self.entry = Entry(self)
                    self.entry.pack()
                    self.QUIT = Button(self)
                    self.QUIT["text"] = "Schliessen"
                    self.QUIT["fg"] = "red"
                    self.QUIT["command"] = self.quit
                    self.QUIT.pack({"side": "left"})
                    self.submit = Button(self)
                    self.submit["text"] = "Abschicken",
                    self.submit["command"] = self.calculate
                    self.submit.pack({"side": "left"})
    def __init__(self, master=None):
                    Frame.__init__(self, master)
    self.pack()
    self.createWidgets()
    root = Tk()
    app = Application(master=root)
    app.mainloop()
    root.destroy()
    logo = PhotoImage(file="../haekeluebersetzung/kruemelmonster-400xx.png")
    w1 = Label(root, image=logo).pack(side="right",                                      )
    explanation = """Herzlich Willkommen im Handarbeitsübersetzer"""
    w2 = Label(root, 
               justify=LEFT,
               padx = 10, 
               text=explanation).pack(side="left")
    root.mainloop()
Wo fehlt denn noch ein self bzw. was ist falsch?

Re: NameError: name ’self‘ is not defined - Anfängerprob

Verfasst: Sonntag 29. Juli 2018, 17:32
von Sirius3
Dein kompletten Einrückungen sind kaputt. Reparier erst mal das, damit man sehen kann, wie alles zusammenhängt. Ansonsten hilft auch der komplette Traceback, denn da steht drin, in welcher Zeile der Fehler auftritt.