Hallo!
Bin Neuling beim Programmieren mit Python 3. Beherrsche C ziemlich gut,
aber nicht mit GUI.
Ich weiß mittlerweile, wie man mit tkinter ein Fenster erstellt und
Buttons, Eingabefelder Label und das Menü erstellt, positioniert und
verwendet.
Nun möchte ich ein kleines Programm schreiben, bei dem es mehrere Seiten
gibt.
Also z.B. ist die erste Seite die Willkommensseite. Dann wählt man im
Menü aus, dass man z.B. eine neue Kartei anlegen will. Dann muss ein
Formular angezeigt werden. Das bedeutet, die Willkommensschrift muss weg
und stattdessen müssen Eingabefelder und Buttons her.
Wie macht man so eine Replatzierung von Elementen im laufenden Programm?
Habe folgendes versucht:
if zustand==0:
labelWillkommen.grid(row=0, column=0, padx=0, pady=0)
else:
labelKartei.grid(row=0, column=0, padx=0, pady=0)
Die Variable "zustand" wird im Programm geändert (Konsolenausgabe
bestätigt es), aber das ursprüngliche Label bleibt. Gibt es da einen
Befehl, das die Neuplatzierung der Elemente bewirkt? Oder geht man da
eher anders vor?
Danke für alle Tipps im Voraus!
yesitsme schrieb: > gibts da kein grid_remove() oder sowas? Klar. Ergänzend gibt's auch grid_forget.
Danke, hab eine Lösung gefunden:
def fenster_raeumen():
list_widgets=fenster.grid_slaves()
for i in list_widgets:
i.destroy()
So werden die Elemente wirklich zerstört und es gibt keine Memory Leaks.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.