Timeout ohne Threads realisieren

Alles rund um die Programmierung mit Qt
Antworten
Delryn
Beiträge: 70
Registriert: 24. Februar 2006 11:15

Timeout ohne Threads realisieren

Beitrag von Delryn »

Hi,

ich habe einen Button und möchte das die Anwendung eine gewisse Zeit hängt bzw. dass der Button für eine gewisse Zeit deaktiviert ist, wenn man ihn geklickt hat. Das soll "ich hämmer auf den Button"-Orgien vermeiden.

Da ich keinen Thread habe kann ich msleep() nicht benutzen. Der QTimer sah ganz gut aus, allerdings hat das nicht geklappt wie ich mir das vorgestellt hab:

Ich hab den Timer auf 5 Sekunden eingestellt und sein Signal mit seinem Quit-Slot verknüpft.

Leider bringt das nicht den gewünschten Erfolg. Wie mache ich es besser?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich verstehe zwar nicht ganz was das soll, aber ich würde
http://doc.trolltech.com/4.1/qobject.html#blockSignals
mit einem QTimer::singleShot() verwenden der dann nach x Sekunden blockSignals() wieder auf false setzt.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Delryn
Beiträge: 70
Registriert: 24. Februar 2006 11:15

Beitrag von Delryn »

Christian81 hat geschrieben:Ich verstehe zwar nicht ganz was das soll, aber ich würde
http://doc.trolltech.com/4.1/qobject.html#blockSignals
mit einem QTimer::singleShot() verwenden der dann nach x Sekunden blockSignals() wieder auf false setzt.
Das sind Buttons mit denen man sich bei einem Server verbinden oder disconnecten kann. Wenn man wie wild rumklickt gibt es Probleme mit den offenen Sockets, also muss das unterbunden werden.

Danke für den Tipp ich teste es aus
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann würde ich doch aber eher im Slot schauen ob gerade versucht wird eine Verbindung zu öffnen - du müsstest doch rausbekommen wie der aktuelle socket-Status ist, oder?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Delryn
Beiträge: 70
Registriert: 24. Februar 2006 11:15

Beitrag von Delryn »

Christian81 hat geschrieben:Dann würde ich doch aber eher im Slot schauen ob gerade versucht wird eine Verbindung zu öffnen - du müsstest doch rausbekommen wie der aktuelle socket-Status ist, oder?

Leider nicht, dass liegt tiefer, ist nicht von Qt und ich komme da nicht ran :?
Antworten