QT in Verbindung mit einem externen Observer

Verschiedenes zu Qt
Antworten
cooky1976
Beiträge: 76
Registriert: 24. Januar 2008 00:19

QT in Verbindung mit einem externen Observer

Beitrag von cooky1976 »

Hallo,

ich habe hier ein verzwicktes Problem und weiß aktuell nicht, ob ich auf dem richtigen Weg bin.
Grundlage ist ein Observer, der von anderen Observern über das Netzwerk Daten empfängt und sendet (verteilte Simulation). Diese Daten sollen nun in QT angezeigt werden.
Bei dem Observer läuft alles in einer Schleife:

Code: Alles auswählen

loop
  empfange Daten
  sende Daten
endloop
Bei der QApplication heisst es in der Doku in der exec-Methode:
Enters the main event loop and waits until exit() is called
Irgendwie müssten bei mir aber beide Loops parallel ablaufen .... heisst das dann, dass ich mit Threads arbeiten muss?

Bin für jeden Hinweis bzw. Idee dankbar.

Ciao

Alexander
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Für eine 100% passende Antwort fehlen bei dir noch viele Angaben, aber ich kann mal versuchen grundlegende Missverständnisse auszuräumen:

Ein Programmfluss kann ganz unterschiedlich implementiert werden. Gerade Anfänger neigen dazu, viel zu oft "Polling" (zyklisches Abfragen und Verabeiten ) zu verwenden, welches einige gravierende Nachteile hat. In Qt versucht man, den Programmfluss mittels Ereignissen zu steuern:
http://de.wikipedia.org/wiki/Ereignis_(Programmierung)

Dazu dienen die SIGNALs/SLOTs: http://de.wikipedia.org/wiki/Signal-Slot-Konzept

Abhängig von deinem Vorgaben sind daher viele Lösungen denkbar.
Wenn du Herr über den Observercode bist und darauf noch eine GUI setzten möchtest, wäre es IMHO das Beste, wenn der Server nicht in einem Loop läuft, sondern nur noch Event-basierend arbeitet.
Wenn der Observercode nicht verfügbar ist oder nicht auf Qt basiert, wäre eine Lösung, den Server in einem QThread parallel neben der GUI zu starten und mittels SIGNALs/SLOTs die anfallenden Daten der GUI zu senden.

hth..
Antworten