• 2142阅读
  • 8回复

求助QGraphicsItem无法触发paint的问题 [复制链接]

上一主题 下一主题
离线梦回水乡
 

只看楼主 倒序阅读 楼主  发表于: 2021-10-12
我把一个QGraphicsItem的子类加入到scene中去之后,调用scene的update无法触发QGraphicsItem子类的paint函数,这个问题怎么解决呀?
离线dorafather

只看该作者 1楼 发表于: 2021-10-12
你直接additem不就可以了吗
离线梦回水乡

只看该作者 2楼 发表于: 2021-10-12
回 dorafather 的帖子
dorafather:你直接additem不就可以了吗 (2021-10-12 10:58) 

我的QGraphicsItem子类要绘制的内容是动态变化的,additem之后绘制的内容需要更改。
离线梦回水乡

只看该作者 3楼 发表于: 2021-10-12

CPenTraceItem继承自QGraphicsItem,AddDotPoint增加了点数据后,调用update后无法触发paint调用

void CPenTraceItem::AddDotPoint(const QList<PointData> PointList)
{
    //添加需要更新绘制的点数据
    update();
}
离线dorafather

只看该作者 4楼 发表于: 2021-10-12
我不知道你是怎么写得,我没出现过这样得问题
离线jackhsu

只看该作者 5楼 发表于: 2021-10-14
你可能需要加一个QMutex对象,用在update()功能里。因为,很可能的原因是数据访问冲突了。
离线jackhsu

只看该作者 6楼 发表于: 2021-10-14
刚想起,paint功能中有一个输入参数option,里面有一个公共参数rect。如果你要画的东西在rect以外,也可能是显示不出来的。
离线steinlee

只看该作者 7楼 发表于: 2021-10-22
需要看看你的程序
Looking for remote C/C++ and Qt 兼职
离线rey130

只看该作者 8楼 发表于: 2022-10-14
老哥问题解决了吗
快速回复
限100 字节
 
上一个 下一个