Seite 1 von 1

Ausgabe einer gethreadeten Funktion für Progressbar benutzen

Verfasst: 8. Juli 2012 19:31
von slash-ex
Ich habe von QThread eine Klasse abgeleitet, die eine Funktion aufruft.
Diese Funktion soll keine weiteren Abhängigkeiten zu Qt haben.
Nun wäre es allerdings schön, wenn man evtl eine Progressbar einbauen könnte, um den Fortschritt auszudrücken.
Gibt es eine Möglichkeit, die Standardausgabe dafür zu benutzen?
Man könnte evtl. die Ausgabe umleiten und man müsste für jede neue Zeile bzw. Ausgabenänderung ein Event werfen.
Kurioserweise besitzt QTextStream für sowas keine Signals. QProcess (was ich leider nicht benutzen kann) hätte allerdings für ähnliche Zwecke welche.
Weiß jemand evtl eine elegantere Möglichkeit?

Re: Ausgabe einer gethreadeten Funktion für Progressbar benu

Verfasst: 8. Juli 2012 20:06
von Christian81
Und woher weiß die Funktion wie der aktuelle Fortschritt ist? Warum kann die Funktion dann nicht einfach ein Signal auslösen?

Re: Ausgabe einer gethreadeten Funktion für Progressbar benu

Verfasst: 8. Juli 2012 21:38
von slash-ex
Die Funktion weiß schon wie weit der Fortschritt ist (die macht auch eine Standardausgabe).
Allerdings wollte ich den Teil der Library frei von Qt-bindings halten.
Evtl könnte man per Funktionsparameter auch eine Referenz übergeben und dort den Fortschritt reinschreiben.
Allerdings müsste man den dann mit einem Timer arbeiten um den Status zu prüfen.
Das wäre wohl nicht die aller eleganteste Möglichkeit, aber evtl die einzige.

Re: Ausgabe einer gethreadeten Funktion für Progressbar benu

Verfasst: 8. Juli 2012 22:24
von Christian81
Eine Callback-Funktion würde auch gehen und wäre wesentlich besser als eine Ausgabe auf stdout.