Ausgabe einer gethreadeten Funktion für Progressbar benutzen

Alles rund um die Programmierung mit Qt
Antworten
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

Ausgabe einer gethreadeten Funktion für Progressbar benutzen

Beitrag 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?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Ausgabe einer gethreadeten Funktion für Progressbar benu

Beitrag von Christian81 »

Und woher weiß die Funktion wie der aktuelle Fortschritt ist? Warum kann die Funktion dann nicht einfach ein Signal auslösen?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

Re: Ausgabe einer gethreadeten Funktion für Progressbar benu

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Ausgabe einer gethreadeten Funktion für Progressbar benu

Beitrag von Christian81 »

Eine Callback-Funktion würde auch gehen und wäre wesentlich besser als eine Ausgabe auf stdout.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten