also jetzt hab ich ein komisches Problem ... zumindest kapier ich das nicht.
mal mein Quelltext:
Code: Alles auswählen
void gunclient::incomming_errormsg(QString msg)
{
if (last_error_msg != msg)
{
last_error_msg = msg;
ausgabefeld->append(msg);
QMessageBox msgBox;
msgBox.setText(QString("Error: %1").arg(msg));
msgBox.exec();
}
printf("Fehler vom Server empfangen\n");
}
Läuft jetzt mein Programm im Hintergrund weiter oder nicht???
Im Hintergrund ändert er noch Labels und printf's gehen auch noch an die Konsole.
Aber er diskonnectet mich von meinem Serverprogramm durch mein eingebautes Timeout.
Ich hab ein QTimer laufen der ein "Ping" sendet.
Mein Server antwortet darauf mit "Pong".
Anscheinend wird aber kein Ping mehr aus meinem Clientprogramm ausgelöst...
Also wenn ich das richtig in der Doku gelesen hab, ist doch QMessagesBox beim exec() eine blockierende funktion ...
Wieso läuft da überhaupt noch was im hintergrund???
Gibts auch eine nicht blockiernende möglichkeit?
Hab eigentlich keine lust das in ein QThread zu packen ...
Ansonsten mache ich das nur mit einem QWidget ...
Kann man das irgendwie zwingen immer im vodergrund zu bleiben?
mfg speedy