Problem mit QFtp bei dataTransferProgress mit Progressbar

Alles rund um die Programmierung mit Qt
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

Du hast mehrer Fehler/Denkfehler in Deinem Programm.
1. Das readRed Signal kommt jedesmal, wenn ein Packet übertragen wurde, d.h. wenn das Signal kommt, heisst das noch lange nicht, dass ALLE Daten übertragen wurden. Dafür gibt es das commandFinished Signal.
2. Deine ProgressBar kann nichts anzeigen, weil ein qint64 nunmal ein Integer (64Bit) ist aber eine Integerdivision, z.Bsp. 1/5, immer 0 sein wird!!! Also Multiplikation vor Division oder in double rechnen!!!
3. Bei Deinem Get lädst Du zuerst alle Daten und vergibst erst hinterher einen Dateinamen. Wenn die Datei grösser ist läuft (hoffentlich) die ProgressBar, bei größeren Dateien unter Umständen lange und danach kommt erst der Dialog zum Datei speichern. Nicht sehr intuitiv.

Ich habe mal Dein Programm geändert, so wie ich das machen würde (Schnellschuss). Vielleicht hilft Dir das weiter!!!

Michael
Dateianhänge
ftp.zip
(6.89 KiB) 106-mal heruntergeladen
Antworten