Ich habe ein Programm, bei dem Daten eingelesen werden. Je nach Umfang dauert dies einige Sekunden.
Wie kann ich die Funktion zum Holen der Daten in einen Thread packen, damit das Fenster in dieser Zeit bedienbar bleibt?
Ich habe in den Beispielen zu QThread hierzu nichts gefunden, das ich anwenden könnte.
QThread für eine Funktion anweden?
also:
So weit bin ich ja gekommen. Im CPP dann:
Aber wie kann ich im Run eine Funktion aus MainWindow aufrufen?
Ich bin noch dabei von C# auf C++ umzusteigen und hänge hierbei total in der Luft.
Code: Alles auswählen
class MainWindow : public QMainWindow
{
....
}
class MyThread : public QThread
{
public:
void run();
};Code: Alles auswählen
void MyThread::run()
{
}Ich bin noch dabei von C# auf C++ umzusteigen und hänge hierbei total in der Luft.
in MyThread::run() kommt die Funktionalität, die Du im Thread laufen lassen möchtest.
Also das Daten einlesen.
Im MainProgramm erstellst Du dann eine Instanz von MyThread und rufst NeueInstanz.run() auf.
Alles andere solltest Du aus den Examples herleiten können.
Also das Daten einlesen.
Im MainProgramm erstellst Du dann eine Instanz von MyThread und rufst NeueInstanz.run() auf.
Alles andere solltest Du aus den Examples herleiten können.
Linux, das längste Text-Adventure aller Zeiten
Nein, er muss start() aufrufen.RavenIV hat geschrieben:in MyThread::run() kommt die Funktionalität, die Du im Thread laufen lassen möchtest.
Also das Daten einlesen.
Im MainProgramm erstellst Du dann eine Instanz von MyThread und rufst NeueInstanz.run() auf.
Alles andere solltest Du aus den Examples herleiten können.
[edit]
@TE: Wenn du in C++ noch so wenig fit bist, könntest du dir und allen Beteiligten viel Schmerzen ersparen, indem du das Thema Threads auf einen Zeitpunkt verschiebst, an dem du wenigstens gut mit C++ umgehen kannst