ich habe in einem Simulationsprogramm, das in einer Schleife läuft, drei Tasten:
- Run kontinuierliche Schleifendurchläufe
- Step nach jedem Schleifendurchlauf auf nächsten step warten
- Stop Simulation beenden
Am Ende einer Schleife stehen zwei
QApplication::processEvents(),
damit Mouseklicks bearbeitet werden - so sollte es sein.
Nach Run kann ich jederzeit Step anklicken, und das Programm kann sofort mit Step schrittweise weitergeschaltet werden.
Auf Stop reagiert das Programm nur sporadisch
Um sicher zu stoppen, muss ich zuerst Step anklicken und dann wird Stop sofort akzeptiert, d.h. bearbeitet.
Die Signals aller drei Knöpfe sind mit dem Slot steuerAblauf(int buttNr) verbunden, wo die Reaktionen auf das Anklicken jeweils bearbeitet werden.
Wieviele Events werden mit einem QApplication::processEvents() eigentlich verarbeitet?
In einer Simulationsschleife treten eine Menge Events auf, weil diverse QLineEdits beschrieben und eine Grafik angezeigt wird. Dies funktioniert alles, nur die Reaktion auf die Stop-Taste nicht so recht.
Brauche ich evtl. noch mehr Statements mit QApplication::processEvents() hintereinander?
Ich kann bei Bedarf schon Code bereitstellen, aber nur ausschnittsweise, weil das ganze Programm viel zu groß ist.
Über Tips wäre ich sehr froh.