Hallo zusammen
ich hab das Problem das ich eine zeitkritische Anwendung habe, die auf jede Rechenzeit angewiesen ist.
Die großen Rechenoperationen laufen in einem extra Thread und die GUI/Dialog ist in einem separaten Thread
da aber sehr oft das PaintEvent von Qt aus aufgerufen wird;
werden zeitkritische Operationen gebremst...
Hat jemand eine Idee wie ich Qt mitteile das ich den Dialog/Widgets bloß alle 500ms oder so aktualisieren soll?
da es sich um kein Spiel handelt und bestimmte Fortschrittbalken auch nicht unbedingt jeder milimeter sichtbar sein muss, würde ein hoher Repaint-Interval vollkommen ausreichen.
Bin für jeden Tipp dankbar.
Danke und skål
Jorgen alias VikingGod
Qt - repaint interval setzen
Re: Qt - repaint interval setzen
Qt aktualisiert die Dialoge nur, wenn es notwendig ist oder wenn von dir ein Befehl dazu kommt. Wenn das zu häufig geschieht, dann stimmt was an deinem Programm nicht.VikingGod hat geschrieben:Hat jemand eine Idee wie ich Qt mitteile das ich den Dialog/Widgets bloß alle 500ms oder so aktualisieren soll?
Ich nehme an du rechnest recht viel rum, und produzierst auch entsprechend viel Output. Diesen zeigst du immer gleich in deiner GUI an. (QLineEdit::setText() usw...).
Geh doch her und Puffer die Ergebnisse. Z.B. leg dir ein struct results an, in welchem du dann brav immer dein aktuellstes Ergebnis hältst. Nun musst du eigentlich nur einen Timer starten, bei dessen Ablauf du deine GUI neu zeichnest. Das Timerintervall kannst du natürlich frei wählen
Ich hoffe du kannst das gebrauchen
Grüße
Franz
Geh doch her und Puffer die Ergebnisse. Z.B. leg dir ein struct results an, in welchem du dann brav immer dein aktuellstes Ergebnis hältst. Nun musst du eigentlich nur einen Timer starten, bei dessen Ablauf du deine GUI neu zeichnest. Das Timerintervall kannst du natürlich frei wählen
Ich hoffe du kannst das gebrauchen
Grüße
Franz