一、编程环境:Qt4.8.5
二、应用场景:读取文件内容,通过串口发送,实现STM32程序烧写
三、打开文件并读取内容:
QString m_filename;
QByteArray sendData;
quint32 m_filesize = 0;
m_filename = QFileDialog::getOpenFileName(this,"打开文件","./","*.bin");
if (m_filename.isEmpty())
{
return;
}
QFile file(m_filename);
if (!file.open(QIODevice::ReadOnly))
{
m_showMessage(file.errorString()); //文件打开错误提示
}
sendData = file.readAll();
m_filesize = sendData.length(); //文件大小
QString str;
quint8 val = 0;
qDebug()<<"start:"<<QDateTime::currentDateTime().toString("hh:mm:ss:zzz");
for (int i = 0; i < m_filesize; i++)
{
val = sendData.at(i);
str.append(QString("%1").arg(val,2,16,QLatin1Char('0'))); //转成16进制,并大写
str.append(" ");
}
qDebug()<<"end:"<<QDateTime::currentDateTime().toString("hh:mm:ss:zzz");
ui->textBrowser->insertPlainText(ba.toUpper());
qDebug()<<"show:"<<QDateTime::currentDateTime().toString("hh:mm:ss:zzz");
四、显示效果
基本上满足显示效果,短暂延时可接受,若是实时转换并显示,则界面卡顿明显!