Seite 1 von 1

Architekturproblem QThread und QTimer

Verfasst: 27. November 2007 08:23
von flownfluid
Hallo zusammen, ich habe da etwas programmiert, was nach meiner Meinung besser gehen muss;-)
Leider weiss ich keinen anderen Weg und bin für Vorschläge sehr dankbar.

Klasse A QMainWindow
Startet der Thread von Klasse B
und zeigt ständig ein wechselndes QImage an

Klasse B QThread
rechned ständig ein neues QImage Bild.


Mein Problem besteht nun darin, wie ich auf bestem Wege dieses Bild im Thread holen kann. Momentan mache ich in der Klasse A einen Timer welcher ständig die Klasse B abfrägt, ob ein neues Bild vorhanden ist.

Vielen Dank für die Vorschläge

Verfasst: 27. November 2007 08:36
von DeepDiver
Du kannst ein Signal benutzen, um das Image von Klasse B nach Klasse A zu schicken.
Der "Signal-Slot"-Mechanismus funktioniert über Thread-Grenzen hinweg.

Viel Glück,

Tom

Verfasst: 27. November 2007 09:22
von flownfluid
Vielen Dank für deine Antwort,

habe es ausprobiert und es funktioniert einwandfrei. Jedoch habe ich noch zwei Fragen:

1. Ist der Signal/Slots Mechanismus Threadsafe?
2. Mein Signal wird relativ häufig aufgerufen(alle 2-5ms), muss ich beim Aufräumen auf irgendwas achten? Weiss auch nicht z.B. Eventsqueue löschen oder solche Sachen?

Vielen Dank nochmals

Verfasst: 27. November 2007 11:49
von upsala
Schon mal die Dokumentation diesbezüglich durchgelesen?