Играя си с QFtp (да .. знам) и всичко работи добре.
Използване на код от техните собствени примери като насока.
http://doc.qt.io/archives/qt-4.7/network-qftp-ftpwindow-cpp.html
Единственият проблем, който имам, е, че когато изпращам (или получавам) големи файлове (да кажем 3 GB), лентата за напредъка изчезва.
Това се дължи на прехвърлянето от qint64 към int в:
void FtpWindow::updateDataTransferProgress(qint64 readBytes,
qint64 totalBytes)
{
progressDialog->setMaximum(totalBytes);
progressDialog->setValue(readBytes);
}
Чудя се какъв би бил най-добрият начин да се справя с това, след като гугълнах около час и реших да го запазя „безопасно“, като се уверя, че не излизам извън обхвата.
while (totalBytes > 4294967295UL)
{
totalBytes = totalBytes/4294967295UL;
readBytes = readBytes/4294967295UL;
}
Но това не се „чувства“ правилно. .