我想使用textBrowser類在QT中顯示WAV文件的前40個字節,我創建了一個使這成爲可能的短程序。不過,我想知道是否有更好的方式來格式化顯示的數據,如C中的printf,它爲您提供格式化選項,例如十六進制,十進制,浮點數或添加逗號,空格等。如果textBrowser不是一個好選擇,由於我知道它從textEdit繼承,所以更多選項是受歡迎的。我的目標是,如果使用QT,它可以用HEX或DEC顯示整個數據,而無需使用for循環,並以逗號分隔。提前致謝。如何使用textBrowser或任何其他diplay部件來顯示和格式化數據
void MainWindow::on_pushButton_clicked()
{
wav->setHeader(Filename); //set the QByteArray bufffer in WAV class with first 40 bytes
for (int i=0;i<40;i++)
{
unsigned char var = wav->buffer.at(i);
ui->textBrowser->insertPlainText(QString::number(var));
ui->textBrowser->insertPlainText(" ");
}
}
QT不支持C! – Olaf
通過QString類我發現公共函數arg()和靜態plublic成員QString :: number(int n,int base = 16),它有助於格式化字符串,添加空格或逗號等,並更改基礎號碼。我改變了代碼的最後2行,所以輸出是十六進制數字,用空格分隔,單個數字將用0填充。 ui-> textBrowser-> insertPlainText(QString(「%1」).arg(myString,2,'0'));' – luffyKun