Heja!
Czy da się w QT sprawdzić ile będzie zajmował wybrany plik przed pobraniem?
Czego bym potrzebował?
Heja!
Czy da się w QT sprawdzić ile będzie zajmował wybrany plik przed pobraniem?
Czego bym potrzebował?
Okay, poradziłem sobie! :<
QNetworkReply posiada w SIGNAL metode:
downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
Gdzie wystarczy przeliczyć bytesTotal na czytelniejszy format
QString downloaderWidget::sizeHuman(qint64 fileSize){
QStringList sizeExt;
sizeExt << "KB" << "MB" << "GB" << "TB";
QStringListIterator it(sizeExt);
QString units("bytes");
float num = fileSize;
while(num >= 1024.0 && it.hasNext()){
units = it.next();
num /= 1024.0;
}
return QString().setNum(num, 'f', 2) + " " + units;
}
Qt 5.10 wprowadziło gotowe rozwiązanie:
QLocale locale = this->locale();
QString valueText = locale.formattedDataSize(sizeValue);