Seite 1 von 1

Singleshot Timer wiederfinden

Verfasst: 6. März 2009 13:54
von AuE
Hi,

wie finde ich denn das QTimer Objekt wieder ?

Code: Alles auswählen

QTimer::singleShot(200, this, SLOT(updateCaption()));
Liefert nix, für nen Find brauch ich den Namen dens net hat.

Grund: Ich will hab nen Timer für das Beenden eines anderen programms. So jetzt hab ich eine Überwachung des Prozesses. Kann ich den Prozess nicht innherlb des Timerintervalls beenden so wird hart beendet.

Problem: Ich muss den Timer wieder stoppen können.... Hhabt ihr da ne Idee?

(also ausser Membervariable.... die hab ich)

Verfasst: 6. März 2009 14:31
von otternase
eine Idee, ohne dies jetzt ausprobiert zu haben:

Code: Alles auswählen

QTimer *timer = new QTimer(this);
timer->setSingleShot(true);
connect(timer, SIGNAL(timeout()), this, SLOT(updateCaption()));
timer->start(200);
Dann kannst Du den QTimer einfach mit timer->stop() wieder anhalten.

Verfasst: 6. März 2009 15:17
von pfid
otternase hat geschrieben:eine Idee, ohne dies jetzt ausprobiert zu haben:
Ist korrekt.

Verfasst: 6. März 2009 17:38
von upsala
Aber er wollte doch keine Variable... ;)

Verfasst: 9. März 2009 07:14
von AuE
Jepp.... das is der weg den ich bisher beschreite....

Da ich ja den Timer nicht wirklich immer brauche dachte ich an ein

QTimer::singelshot(...)

da ja meine Abbruchbedingung früher eintreten kann muss ich ja die Möglichkeit haben diesen auch wieder auszubremsen. Aber für en Disconnect oder ein Stop brauche ich ja das objekt, in dem Fall also den Timer.