progressbar ohne maxvalue zu kennen ?

Alles zur Entwicklung von KDE - Anwendungen
Antworten
central
Beiträge: 14
Registriert: 1. Juli 2005 02:00
Wohnort: Hamburg
Kontaktdaten:

progressbar ohne maxvalue zu kennen ?

Beitrag von central »

Hallo ,
bin eben auf dieses Forum gestossen :)
und hoffe nun hier Hilfe zu finden.
Gut nun zu meinem Problem
Ich versuche eine gui für ffmpeg zu schreiben,
und realisiere das mit Kprocess , was auch sehr schön funktioniert.
Ich möchte über eine Progressbar zeigen wielange es noch dauert.
Ich habe aber leider keinen blassen schimmer wie man sowas realisiert.
Ich würde mich über Anregungen oder howto's dazu freuen .
besser wäre natürlich eine wenig code :)

gruß central
no trouble
no fun
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Eine einfache Erklärung:
Ein Progressbar basiert auf mathematischen Berechnungen. Je öfter diese Berechnungen durchgeführt werden umso genauer ist dein Progressbar, aber umso mehr Rechenzeit wirst du brauchen.

In den meisten Fällen, und ich denke das hier ist einer davon, ist ein Progressbar ein Kompromiss. Du musst also eine Berechnung aufstellen, wie lange braucht der Encoder für alles, wenn du dann einen gewissen Bereich hast kannst du auf Erfahrungswerte zurückgreifen und die Berechnung neu durchführen. Oder du machst es hoch komplex mit CPU Speed, RAM usw. eben diese Konstanten Größen um auf einen guten Wert zu kommen.

Mehr als Theorie kann man ich dazu leider nicht sagen, denn da fehlen mit genauere Vorstellungen deinerseits.
central
Beiträge: 14
Registriert: 1. Juli 2005 02:00
Wohnort: Hamburg
Kontaktdaten:

Beitrag von central »

Vielen Dank ,
aber soweit war mir das ja klar ,
momentan ermitlle ich mit qfileinfo size() die größe nun bräuchte ich ja theoretisch
nur noch die current position des processes nur wie komme ich an den wert ?
Oder mache ich da einen Denkfehler.
Über eine Antwort würde ich mich sehr freuen.

gruß
central
no trouble
no fun
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Also denkst du an eine Berechnung ala:

GesamtGröße - FertigeGröße = RestGröße
x - y = z

100% - FertigeGröße des Encoders = z%
progressBar -> setValue( 100 - z% )

Und ich würde dir empfehlen das mit auf 2 Nachkommastellen genauen double berechnen.
slesa
Beiträge: 8
Registriert: 10. Mai 2006 08:46

Beitrag von slesa »

central hat geschrieben: momentan ermitlle ich mit qfileinfo size() die größe nun bräuchte ich ja theoretisch
nur noch die current position des processes nur wie komme ich an den wert ?
Am schönsten wäre natürlich, wenn ffmpeg selbst einen Verbose-Parameter hätte, der wie zB bei scp jeweils ein # pro [x] ausgibt, dann könnte man die Ausgabe umleiten und hätte den aktuellen Wert...
Antworten