PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QT Desktop repaint()



Poseidonius
06-07-2006, 10:10
Hallo zusammen,

ich habe eine kleine Oberflaeche gebastelt, die von ueber einen Thread dauernd mit Daten versorgt wird (alle 50 ms) und diese darstellt. Nun passiert aber sonst nichts anderes nichts anderes mehr, die anderen Elemente der GUI bleiben unsichtbar. Habe es mit allen Varianten von repaint, update fuer das Fenster probiert ... mmmh

Hoffe auf Eure Hilfe

anda_skoa
06-07-2006, 14:04
Ein paar Anmerkungen:

- nur der Hauptthread, der der die Eventloop behandelt, darf auf GUI Elemente zugreifen, bzw diese ändern

- wenn das Bearbeiten der Daten nicht viel Rechenzeit benötigt, könnte man statt einem Thread möglicherweise einen QTimer einsetzen und mit einem einzigen Thread in der Applikation auskommen

- wenn man einen zusätzlichen Thread benötigt, kann man von diesem aus ein Event an das Zielobjekt, zb das Widget senden. Dazu gibt es Methoden in QApplication

Übrigens wäre die Qt Version noch interessant, zur Zeit werden sowohl Qt3 als auch Qt4 benutzt und die unterscheiden sich in manchen Fällen

Ciao,
_