Hy!
Habe ich etwas übersehen, oder gibt es wirklich nur die sleep Funktion im QThread? Hat Qt wirklich keine eigene Platformunabhängige sleep Funktion?
Es geht zwar um einen eigene Thread der mal kurz warten soll, allerdings muss dies in einer Funktion geschehen die nicht direkt vom Thread aus aufgerufen wird, ist 8. Funktion von einigen die sich gegenseitig aufrufen...
Muss ich wirklich einen Pointer auf den Thread mit übergeben, oder hab ich einfach was übersehen?
mfg
uhu01
[solved] sleep Funktion
[solved] sleep Funktion
Zuletzt geändert von uhu01 am 1. Januar 2007 00:21, insgesamt 1-mal geändert.
Wenn du in deiner Hauptanwendung ein sleep ausführst wartet die ganze Anwendung, d.h. es werden auch keine Updates der GUI mehr ausgeführt. Nimm einen QTimer und ruf einen SLOT auf wenn die Wartezeit abgelaufen ist alles andere ist nicht mehr zeitgemäß.
n einem Thread ist das was anderes, denn dort kann die Hauptanwendung weiterlaufen...)
Hy!
Ist mir schon klar das meine Oberfläche blockiert wenn ich in meinem Hauptthread ein sleep aufrufe....
Meine Frage ist nach einem Sleep, welches ich auch in einem Thread aufrufen möchte, allerdings in einer Unterfunktion...
Die Frage war ob ich einen Pointer auf meinen Thread bis in die Funktion übergeben muss in der ich das Sleep benötige (ist in einer anderen Klasse) oder ob es eine einfachere Lösung gibt.
mfg
uhu01
Ist mir schon klar das meine Oberfläche blockiert wenn ich in meinem Hauptthread ein sleep aufrufe....
Meine Frage ist nach einem Sleep, welches ich auch in einem Thread aufrufen möchte, allerdings in einer Unterfunktion...
Die Frage war ob ich einen Pointer auf meinen Thread bis in die Funktion übergeben muss in der ich das Sleep benötige (ist in einer anderen Klasse) oder ob es eine einfachere Lösung gibt.
mfg
uhu01
Achso...
Du könntest folgendes Probieren:
Keine Ahnung obs funktioniert...
Du könntest folgendes Probieren:
Code: Alles auswählen
class Wait : public QThread() {
public:
Wait(int time) : QThread() {
sleep(time);
}
}
Wait w(3);
Hy!
War eine tolle Idee, funktioniert super!
Hab folgendes verwendet:
Danke für die Hilfe...das ist auf jeden Fall einen Eintrag in der Tipps und Tricks Sektion wert...
mfg
uhu01
War eine tolle Idee, funktioniert super!
Hab folgendes verwendet:
Code: Alles auswählen
class Wait : public QThread {
protected:
Wait(int time) : QThread() {}
void run() {}
public:
static void sleep( int time)
{
QThread::sleep( time);
}
static void msleep( int time)
{
QThread::msleep( time);
}
static void usleep( int time)
{
QThread::usleep( time);
}
};
mfg
uhu01