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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
michi-monster
User
Beiträge: 48
Registriert: Donnerstag 7. Dezember 2017, 18:30
Kontaktdaten:

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?
Sirius3
User
Beiträge: 17822
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
Antworten