Seite 1 von 1

QSocketNotifier triggert meine Event-Loop

Verfasst: 21. August 2007 11:57
von rene77
Hallo!

Ich habe unter Qt 4.2.2 eine GUI-Anwendung programmiert, in der ich Daten, die ich über eine Socket-Verbindung bekomme, auswerte und anzeige. Das Empfangen der Daten wird von QSocketNotifier in der Event-Loop übernommen.

Es folgt der Programmcode:

Code: Alles auswählen

QSocketNotifier *p_socket_notifier = pnecs->CreateQSocketNotifier(f_fd);
QObject::connect(p_socket_notifier, SIGNAL(activated(int)),
pnecs, SLOT(NeCSDataReceived(int)) , Qt::QueuedConnection);
Der Socket-Notifier wird in der Methode "CreateQSocketNotifier" mit dem Parameter "QSocketNotifier::Read" erzeugt.

Das funktioniert auch wunderbar, bis auf das alle anderen Events (Mausklick usw.) nur dann durchkommen, wenn neue Daten über die Socket-Verbindung kommen. Wenn ich also z.B. Daten im Sekundentakt bekomme, ruckt meine gesamte Anwendung.

Ich bin für jede Hilfe dankbar.

LG René

Verfasst: 21. August 2007 12:19
von upsala
Die normale Event-Loop wird aber schon aufgerufen?

Verfasst: 21. August 2007 12:24
von rene77
Die Event-Loop wird aufgerufen, aber leider erst, wenn neue Daten über die Socket-Verbindung kommen. Ich klicke z.B. auf einen Push-Butten und er wird erst bei neuen Daten runtergedrueckt (optisch).