我这里有一个QTextEdit控件,想把串口中读出来的数据从控件中,这样的格式显示出来:接收:55 AA 08 00 07 00 0F 10 14 E5
时间:09:48:27
但是,却显示下面这样的格式:
接收:55
时间:09:48:27
接收:AA
时间:09:48:27
接收:05
时间:09:48:27
接收:07
时间:09:48:27
接收:00 00
时间:09:48:27
接收:AB
时间:09:48:27
接收:A0
时间:09:48:27
下面是相关代码段:
void Widget::my_readuart()
{
if (my_serialport->bytesAvailable()<=0){return;}
QByteArray buffer = my_serialport->readAll();
QString tempDataHex=Widget::ByteArrayToHexStr(buffer);
ui->txtDataHex->append(QString("接收:%1 \n时间:%2")
.arg(tempDataHex)
.arg(QTime::currentTime().toString("HH:mm:ss")));
buffer.clear();
}
请问各位高手:如何才能把数据用这种格式显示出来:接收:55 AA 08 00 07 00 0F 10 14 E5
时间:09:48:27
有点急,先谢各位了!
------解决思路----------------------
不知道这样对不。
你从串口读取的数据有可能跨时间,比如前5个是28秒,第6个是29秒的,那你该怎么显示?
不行的话建议你用两个QLineEdit分别显示数据和时间。
------解决思路----------------------
个人觉得是readALL的问题,字符的输入输出流很蛋疼
估计在readALL的时候就已经给换行了