我正在玩QFtp(是的,我知道)並且一切正常。如何很好地將qint64「投」到QProgressBar的int int
使用他們自己示例中的代碼作爲指導。
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;
}
但這並不「感覺」正確。 。
任何其他數超過100也將工作,當然。但是如果你的progrssbar是例如700像素寬,使用百分比意味着它一次只會更新7個像素。就個人而言,我會選擇4096. – MSalters 2011-02-08 12:36:55