Statusausgabe mit QThread in Qt verwenden

Wir legen wir in der Worker Klasse in worker.h drei Funktionen an, die Berechnungen simulieren sollen. Wir deklarieren zusätzlich eine Funktion zum Senden von Nachrichten an das MainWindow Objekt (sendSignal()) und eine Funktion zum Empfang von Berechnungsanforderungen (processData()).

In worker.cpp erfolgt die Umsetzung der Funktionen für die simulierten Berechnungen. In processData() definieren wir eine switch Anweisung, die je nach Wert von parameter drei unterschiedliche Berechnungen zur Ausführung bringt. Nach Abschluss der jeweiligen Berechnung wird ein Signal ausgesendet, welches vom MainWindow Objekt empfangen und ausgewertet wird. Bei Übergabe eines nicht definierten Wertes für parameter wird eine Fehlermeldung emittiert.

Im letzten Abschnitt von worker.cpp erfolgt die Definition der drei Funktionen performTaskAlpha(), performTaskBeta() und performTaskGamma(). Wir simulieren Berechnungen, die jeweils eine, zwei oder drei Sekunden für die Ausführung benötigen. Für die Verwendung von sleep() ist die Einbindung der QThread Headerdatei erforderlich.

Nach Ausführung des Programms sehen wir ein Fenster. Klicken wir auf den Button, dann erhalten wir nach der jeweils definierten Zeit sofort eine Ausgabe des Status.

Statusausgabe mit QThread in Qt verwenden

Das komplette Beispiel herunterladen: Application.zip

Über Anton Neururer 31 Artikel
Ich bin Programmierer und Blogger. Themen die mich besonders interessieren sind Python, C++ und Javascript. Des Weiteren befasse ich mich mit Fraktalen.

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen