qt下写了一个socket程序,客户端要接收数据
void TcpClient::dataReceived()
{
while (tcpSocket->bytesAvailable()>0)
{
QByteArray datagram;
datagram.resize(tcpSocket->bytesAvailable());
QHostAddress sender;
tcpSocket->read(datagram.data(), datagram.size());
QString msg=datagram.data();
}
}
发现把这个msg append到QTextEdit上出了点问题,如果是正常的字符串ok,但是如果收到数据是xxxxxxxx,那么船体上是肯定显示不出来的。这应该是跟QTextEdit这个类有关。
换成QListWidget *ListWidgetContent;用ListWidgetContent->addItem (msg.left(datagram.size()))是没问题的。(干嘛要left一下,结尾是什么)
(这段源代码出自qt4精彩实例编程的光盘)
阅读(1748) | 评论(0) | 转发(0) |