ui->progressBar->setTextVisible(true);
ui->progressBar->setMaximum(totalBytes);
ui->progressBar->setValue(readBytes);
double speed = readBytes * 1000.0 / downloadTime.elapsed();
QString unit;
if (speed < 1024) {
unit = "bytes/sec";
} else if (speed < 1024*1024) {
speed /= 1024;
unit = "kB/s";
} else {
speed /= 1024*1024;
unit = "MB/s";
}
QString spd = QString::number(speed);
ui->progressBar->setFormat(spd+" "+unit);
它的工作原理是这样的:https://i.stack.imgur.com/86bzs.png
我应该如何修改此代码以显示速度,例如 1.XX MB/s ?感谢您的帮助
你应该使用 QString::number 的第三个参数:
QString::number(1.6183456, 'f', 2)
// -> "1.62"