QLabel neu Zeichnen

Alles rund um die Programmierung mit Qt
Antworten
zeec
Beiträge: 6
Registriert: 13. Februar 2006 19:05

QLabel neu Zeichnen

Beitrag von zeec »

Hallo,
folgende Situation:
ich habe 4 Felder, die in einem QGridLayout angeordnet sind.

Code: Alles auswählen

+---+---+
|  1 |  2 |
+---+---+
|  3 |  4 |
+---+---+
Die Felder sind QLabel, denen mit setPixmap() ein jpeg (die Zahlen) zugeordnet wurden.
Ich mochte das Feld in einer Schleife neu Zeichnen. Etwa so (stark vereinfacht):

Code: Alles auswählen

 while(1){ sleep(1); feld->neueZahlen(x,y,z,v); } 
Leider wird das Feld nicht jedesmal aktualisiert, sondern erste beim letzten Durchlauf.
Ich hab es schon mit update() und repaint() versucht, aber ich bekomm es nicht hin, dass es nach jeder Sekunde neu gezeichnet wird.

Kann mir da jemand Helfen?
Thx
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Du verwendest nicht wirklich sleep oder? Schau dir mal QObject::timerEvent(...) an
zeec
Beiträge: 6
Registriert: 13. Februar 2006 19:05

Beitrag von zeec »

Warum sollte ich sleep() nicht verwenden?
Mein Beispiel ist stark vereinfacht. Ein Algo. hat eine Liste von Feldern,
die grafisch dargestellt werden sollten. Die Grafik wird im einfach nach
einer bestimmten Zeit mit den naechsten Daten gefuettert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Und wann sollen dann deine Events abgearbeitet werden?
QApplication::processEvents
wäre ein Workaround, aber bei Zeiten im Sekundenabstand die Timer nicht zu verwenden, finde ich schon sehr komisch...
zeec
Beiträge: 6
Registriert: 13. Februar 2006 19:05

Beitrag von zeec »

Danke, so funktioniert es.
Genau was ich gesucht habe.
Antworten