Entries aus Liste wieder löschen

Fragen zu Tkinter.
Antworten
georgebaker
User
Beiträge: 25
Registriert: Freitag 12. April 2013, 19:53

Hallo,

ich habe leider ein Problem damit, Entry-Felder die ich in einer For-Schleife erstellt habe, wieder zu löschen. Der Code ist hier zu finden (in def update_UI(self)): https://github.com/mr-georgebaker/py_er ... y_error.py

Der Button "Analyze Formula" erzeugt anhand der eingegebenen Formel eine Liste von Entry-Feldern in der Anzahl der verwendeten Variablen.

Ich hätte gerne das nach erneutem Klick auf den Button "Analyze Formula" die vorher erstellten Entry-Felder wieder gelöscht werden um dann die Neuen zu zeichnen. (z.B.: wenn eine neue Formel eingegeben wird). So wie ich es im Moment geschrieben habe, habe ich zwar Zugriff auf die Werte, aber nicht auf die Entry-Felder direkt, um sie mit "Tkinter-Bordmitteln" zu löschen (zumindest nur den letzten). Somit hängt das Programm lediglich die neuen Entry-Felder an. Leider habe ich noch keine andere Möglichkeit gefunden, die Entry-Felder anders innerhalb einer Liste zu erzeugen.

Es soll schlußendlich ein Programm rauskommen, mit dem ich die Fehlerrechnung mittels Gauß'schem Fehlerfortpflanzungsgesetz automatisch durch Eingabe der Formel und den Werten (inkl. Unsicherheiten) die benötigten Größen ermittelt. (Das Rechnen von Hand nervt ziemlich schnell! :lol: )

Ich bin für jede Idee dankbar!

Mfg,
George
BlackJack

@georgebaker: Du musst Dir halt nicht nur die `StringVar`-Objekte merken sondern auch die `Entry`-Objekte. Beziehungsweise wenn Du Dir die `Entry`-Objekte merkst kannst Du den Inhalt auch von denen abfragen und die `StringVar`-Objekte weglassen.

Das ``for i in range(len(variables)):`` ist in Python ein „anti pattern”. Du benutzt `i` hier auch nur um fortlaufend nummerierte Schlüssel für ein Wörterbuch zu erzeugen — das heisst Du verwendest hier ein Wörterbuch an einer Stelle wo man eigentlich eine Liste verwenden würde. Bei der bräuchtest Du dann auch gar keinen Index sondern würdest die Objekte einfach an eine Liste anhängen.
georgebaker
User
Beiträge: 25
Registriert: Freitag 12. April 2013, 19:53

Danke BlackJack, daran habe ich gar nicht gedacht! :oops:
Antworten