Schleife pausieren

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
marcelr
User
Beiträge: 38
Registriert: Dienstag 19. August 2008, 09:34

Dienstag 16. September 2008, 10:58

Hallo,

mit der Anzahl an Listenelementen bilde ich eine For-Schleife, in der immer wieder ein Frame instanziiert werden soll mit bestimmten Werten abhängig vom Listenelement.
Dieser wird immer wieder der selben Variable "self.fenster" zugeordnet. Die Frame-Klasse ist so, dass wenn man im aufgerufenen Frame OK klickt, dieser seine Instanz selbst zerstört. Mein Problem ist nur, dass die Schleife erst x-mal durchlaufen wird, bis alle Listenelemente abgearbeitet sind.
Ich würde das gerne so haben, dass er die Klasse einmal instanziiert und mit dem Fortführen der Schleife wartet, bis diese Instanz wieder zerstört ist, also die Schleife pausieren.
Also pseudo:

for elemente in liste:
-bilde instanz
-warte bis instanz zerstört ist
-weiter

hier mein codefragment:

Code: Alles auswählen

for item in os.listdir(root+"\\"+dir):
    importDic = {'Dateiname':item, 'Dateipfad':root+"\\"+dir+"\\"}
    self.fenster = Metaeingabe(None, None, importDic,frame, -1, "")
    self.fenster.Show()
Ich hoffe, dass ihr mir helfen könnt, die Lösung ist wahrscheinlich peinlich einfach :-)
BlackJack

Dienstag 16. September 2008, 12:10

GUI-Programmierung ist Ereignisorientiert, d.h. man schreibt keinen Quelltext der etwas in einer bestimmten Reihenfolge mit der GUI tut, sondern welchen der auf die Eingaben des Anwenders reagiert.

Du musst das Problem von "Nimm alle Daten aus der Liste und zeige sie in Frames an" in "Nimm ein Datum aus der Liste und Zeige es an. Wenn `Ok` gedrückt wurde nimm das nächste Datum und zeige es an." umformulieren und entsprechend implementieren.
marcelr
User
Beiträge: 38
Registriert: Dienstag 19. August 2008, 09:34

Dienstag 16. September 2008, 15:22

ah, danke dir für die Antwort.
Habe es jetzt so gemacht und funktioniert wunderbar!
Manchmal passiert mir dieser Denkfehler noch bei GUIs...
Antworten