QT5: Come modificare la velocità di download per mostrare 1.xx mb / s invece di 1.xxxxx mb / s?

StackOverflow https://stackoverflow.com//questions/22022827

  •  21-12-2019
  •  | 
  •  

Domanda

 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);
.

Funziona in questo modo: http://i.imgur.com/rwvir8p.png

Come dovrei modificare questo codice per mostrare la velocità come 1.xx MB / s? Grazie per l'aiuto

È stato utile?

Soluzione

Dovresti usare il terzo argomento di qstring ::Numero :

QString::number(1.6183456, 'f', 2)
// -> "1.62"
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top