新人求教,关于Qt5.8相关的问题,涉及tcp,QGraphicsitem等方面

sueheart 2017-08-10 04:30:23
本人qt菜鸟,新入坑。最近被分配去做一个项目中的一个功能:我用qt写一个客户端,和服务端(用c写的,运行在arm上)建立通信并进行数据传输。
遇到问题如下:
1.我能和服务器进行链接。服务器每隔50ms向我发送一组数据,我却只能接受到第一组,后续都接收不到,请问会是什么原因造成的?(我写了connect(SIGNAL(readyread),slot(getData)
2.为了后续工作考虑,我需要用接受到的数据进行图形绘制。暂时是绘制矩形。我在头文件里写了QGraphicsRectItem Rect[64],
并且能根据发送过来的数据绘制出64个矩形目标,但是,之后再来数据,我就绘制不出来了,请问这里是需要释放Rect[64]中用过的空间吗?请问是要调用repaint方法吗?我试过,没有用,依旧按照第一组数据绘制,就比如,我Rect[0]->setRect(10,10,100,100),第二次我想Rect[0]->setRect(12,10,100,100),就完全没用,除非我再开另一个Rect组或者把Rect[64]扩大,这显然不现实,因为数据是可以无限的,我想做到能对Rect的循环利用,请问该怎么办?或者大神门有没有更好的方法可以解决我的需求??小妹在这里谢谢了
PS我是刚刚注册的,积分不多,我真的很急,希望大神门能给点建议,最好是解决办法,谢谢了,非常感谢
...全文
237 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sueheart 2017-08-25
  • 打赏
  • 举报
回复
谢谢你,问题已经解决。十分感谢
sueheart 2017-08-21
  • 打赏
  • 举报
回复
没有readyread信号怎么解决啊?求教
  • 打赏
  • 举报
回复
1.qt写的客户端是不是用的QTcpSocket写的?是的话,QTcpSocket有一个 void error(QAbstractSocket::SocketError socketError) 的信号,可以写个槽函数关联此信号把错误打印出来。看看第2组后数据接收不到时有没有什么错误发生。 2.问题2不知道是什么问题。可以先尝试看看为什么会绘不出。就你说的方法,可以先扩大数组,或者另开一个数组,尝试看看能不能绘出,先确定这种方法可不可行,再考虑数组无限大的情况。
sueheart 2017-08-11
  • 打赏
  • 举报
回复
请问在哪儿加?能麻烦把这段完整代码发我吗?我私信把我邮箱给你,谢谢~
懒懒的吉他手 2017-08-10
  • 打赏
  • 举报
回复
读数据要加上
m_localSocket->waitForReadyRead(3000);
然后用
m_localSocket->readAll()
不一定会有readyread信号的

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧