我在软件开发过程中遇到如下问题:
首先通过网络接收数据(网络采用线程方式)接收数据,然后根据创建一个QGraphicsItem(如位图Item)后根据接收数据定义item的位置、位图等后将其加入到scene中。但小弟在程序运行时碰到如下现象:将item加入到scene中没有显示,只有在窗口切换时才绘制一次。在下次数据来时程序重新setpos时item也吧刷新。只有窗口切换时才刷新。我在采用定时器时也能刷新,采用postevent方式也可以刷新,但是在item很多,网络数据量很大时容易丢数据。我采用的时4.0版的,但我同事好像采用4.3版的可以刷新的。
本来以为时gui线程和客户线程之间的问题,但是我同事也时从网络接收的,之不过他在网络处理采用signal-slot的方式,后面处理时相同,但是他创建的item可以刷新。不知道是否时qt版本的问题,请各位大牛指点,万分感谢!