Hey ich bin absoluter Neuling in Sachen Programmieren
Kann mir jemand sagen warum "Frame" nicht aufgerufen werden kann?
from tkinter import *
fenster = Tk()
fenster.geometry("700x350")
fenster.title("Sortiment verwalten")
fenster.mainloop()
rahmen = Frame (fenster, relief = "ridge", borderwidth = 5)
rahmen.pack(fill="both", expand = 1)
#button
button1 = Button(rahmen,text="Sortiment anzeigen", width = 20)
button1.config(font=("Arial", 12, "bold"))
_____________________________________________
tkinter.TclError: can't invoke "frame" command: application has been
destroyed
Nach mainloop() findet nix mehr statt, das muss IIRC die letzte Anweisung sein.
Beitrag #6626689 wurde von einem Moderator gelöscht.
Danke hat funktioniert ! :)
Kev G. schrieb: > Danke hat funktioniert ! :) Tipp am Rande: in vielen Tutorials etc. werden Tkinter und Tix prozedural gezeigt, aber spätestens bei mittelgroßen Programmen führt das trotz Python unweigerlich in ein kaum wartbares Chaos.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Der Trick ist, daß Tkinter noch das veraltete OO-Interface hat und deswegen die Parent-Methoden nicht mit super() aufrufen kann. Deswegen geschieht das hier in Zeile 6 auf die alte Weise, also mit expliziter Angabe der Parent-Klasse und dem direkten Aufruf seiner Methode (hier: ihres Konstruktors), ansonsten funktioniert das alles ganz genau wie gewohnt.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.