Button für die manuelle Unterbrechung einer Schleife / nach Zeitablauf wird Schleife fortgeführt

Fragen zu Tkinter.
Antworten
Linux-Fan
User
Beiträge: 8
Registriert: Samstag 30. Mai 2020, 15:03

Hallo,

bei meinem Programm habe ich ein Hauptfenster über Tkinter gestaltet. Über einen Button kann ich eine Berechnung starten. Bei der Berechnung wird eine Schleife immer wieder durchlaufen bis alle Datensätze abgearbeitet sind. Das läuft alles wunderbar.
Ich würde jetzt gerne eine Unterbrechungsmöglichkeit der Schleife aufnehmen. Gerne über z.B. eine Messagebox, die nach dem Durchlauf einer Schleife aufgeht und nachfrage, ob die Berechnung weitergeführt werden soll. Wenn nicht innerhalb von z.B. 10 Sekunden "abbrechen" gedrückt wird, soll die Schleife automatisch weiter arbeiten.

Bisher habe ich jedoch leider noch keine Idee in der Literatur oder im Internet gefunden.
Ist bestimmt ganz einfach. Ich komme jedoch nicht auf eine Lösung.

Vielen Dank und viele Grüße
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Ist bestimmt ganz kompliziert, weil es in gui-Programmen keine langlaufenden Schleifen geben darf. Üblicherweise packt man die langlaufende Schleife in einen Thread, der mit der GUI über entsprechende Strukturen (Z. B. Queues) kommuniziert. Dann ist es auch kein Problem, einen abbrechen Button zu haben, der ein entsprechendes Signal setzt, dass im Thread verarbeitet werden kann.
Antworten