Ich habe einen Fehler in meiner Phyton Gui Programmierung, könnt ihr mir helfen?
Also wenn ich auf den button klicke als Admin einloggen
dann erscheint auf der zweiten Gui kein Label aber wenn ich Zeile 27, 28, 29,30 rauslösche was ja das erste label auf der zweiten Gui ist (es ist ein bild) dann werden alle anderen labels angezeigt
ahhh und das ist die Fehlermeldung :
also was habe ich falschgemacht
1 Antwort
Bei tkinter sollte es immer nur ein Root-Widget geben. Du erstellst in Zeile 21 (und somit bei jedem Aufruf deiner Funktion) aber gleich noch eins. Verwende stattdessen die TopLevel-Funktion, wenn du neue Fenster öffnen möchtest.
Beispiel:
second_window = tk.Toplevel(your_main_window)
Folglich darf es auch nur eine Main Loop geben und die destroy-Funktion solltest du für das Root-Fenster nur dann aufrufen, wenn du wirklich alle tkinter-Fenster schließen möchtest. Um es nur aus- und später wieder einzublenden, gibt es andere Funktionen:
your_main_window.withdraw() # hide
your_main_window.deiconify() # show again
Wenn ich so über den restlichen Code schaue, würde ich meinen, dass es nützlich wäre, wenn du dich mit Grundlagenthemen wie Listen und Schleifen auseinandersetzen würdest. Auch durch eine Abstraktion bestimmter Anweisungen mit einer Funktion könnte man das Programm kürzen.
Die doppelten Imports in der Funktion sind übrigens redundant.
Im einfachsten Fall reicht das Schreiben in bzw. Lesen aus eine/r Datei. Die Daten kann man trennen, indem man sich ein Format mit Trennzeichen überlegt. Entweder du erfindest ein eigenes oder du nutzt bekannte Formate wie CSV (Erklärung des Formats hier) oder JSON (Erklärund des Formats hier).
und wie zerstöre ich dann die Labels und die entry(die doppelten imports waren nur da um sicherzugehen)
ok und wie speichere ich die Informationen die der user eingibt abspeichern sollte aber so sein das jedes mal wenn abgeschickt man drückt das die Informationen unter einen Profil abgespeichert werden die entrys gelehrt werden und beim nächsten mal auf den agespeichert button einfach nicht das alte profil überschrieben wird sondern ein neues angelegt wird / das adminwindow ist eigentlich nur sazu da die abgespeicherten Informationen abrufen zu können aber ich hab kein plan wie das funktionieren soll kannst du mir das bitte auch noch erklären / danke / Ich programmiere erst seit 3 wochen .... daher ....