|
10Qter豆
问题一:Qt从网口读出数据并用十进制显示,下面这段程序是从网上找到的,将下位机传过来的数据用16进制显示,但是我想用十进制显示,我将QString str = byte_data.toHex().data();改为QString str = QString(byte_data);或者QString str = byte_data.data();但是都显示不了数据;问题二:我想将传来的数据分开,比如下位机传过来的数据是1521,我想将15和21分开表示,将15显示在一个textedit,21显示在另一个textedit中,不知如何实现,还请各位帮帮忙,感激不尽!- //客户端读取消息
- void TcpClient::clientReadMessage()
- {
- QByteArray byte_data=tcplink->readAll();
- //QString str = QString(byte_data);
- QString str = byte_data.toHex().data();
- // str = str.toUpper ();
- QString stt;
- for(int i = 0;i<str.length ();i+=2)
- {
- QString st = str.mid (i,2);
- stt += st;
- stt += " ";
- }
- if(showbox == true)
- {
- quint16 intPort = tcplink->peerPort();
- QString stPort = QString::number(intPort);
- QString stIP = tcplink->peerAddress().toString();
- main_ui->ViewtextEdit->append(tr("自【%1:%2】:%3").arg(stIP).arg(stPort).arg(stt));
- //main_ui->ViewtextEdit->insertPlainText(stt);
- }
- }
复制代码 |
最佳答案
查看完整内容
这个一点都不难!QT进制之间的转换还是非常方便的,我开源了一个串口调试工具,里面代码可以方便的额转换,http://www.qtcn.org/bbs/read-htm-tid-55587.html
|