qgraphicscene动态显示点迹

最近项目上遇到一个需求要让大量点迹按时序显示在qt scene上面。通过for循环加到会出现所有点加完之后才显示,而且这期间scene上面移动鼠标显示光标位置和放大缩小图层都失效,感觉像是界面卡住了,网上找了很多资料解决强制刷新界面,如:

(209条消息) QT 界面刷新_漫步繁华街的博客-优快云博客_qt界面刷新

但放到我的项目里面都无效。后面发现这位答主的博客:

(209条消息) QT 界面图像循环更新陷入卡死状态解决方式_大黑山修道的博客-优快云博客

在循环体加点后加入语句 QCoreApplication::processEvents();(循环加点里面的代码简化后如下) 最终实现了动态显示点,而且scene界面上的其他功能也可以正常工作。感谢!!!

				QGraphicsEllipseItem* ellItem = new QGraphicsEllipseItem;
				dataItem.push_back(ellItem);//new 出来的对象传指针,最后可以显示
				dataItem[i]->setRect(ll.Lon, ll.Lat, 0.002, 0.002);//点图元
				
				dataItem[i]->setPen(pen);
				dataItem[i]->setBrush(QBrush(QColor(0, 0, 0)));
				this->scene->addItem((dataItem[i]));
				
				QCoreApplication::processEvents();
				i++;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值