• 1864阅读
  • 8回复

[提问]关于QGraphicsItem中boundRect与paint的关系问题 [复制链接]

上一主题 下一主题
离线ycybx~
 

只看楼主 倒序阅读 楼主  发表于: 2020-11-12
当paint 当中实际画出的图形大小 大于 boundRect 这个重画区域大小所以导致有残影 我能够理解,但是我不理解的是比如 boundRect 的大小是100*100而paint实际画出的矩形大小是45*45也会产生残影 为什么啊?
离线九重水

只看该作者 1楼 发表于: 2020-11-12
此处应有@liudianwu
离线dbzhang800

只看该作者 2楼 发表于: 2020-11-12
你的100*100 是构造时固定的,还是你代码中改动了 boundRect 大小?
离线maxlogo

只看该作者 3楼 发表于: 2020-11-13
boundingRect最好是能把画笔大小计算在内或者绘制的时候矩形大小各减少画笔大小的0.5,不然就有可能会导致残影问题,另外paint是以bounding Rect的坐标来绘制的
个人博客:
简书:https://www.jianshu.com/u/14fa805306bd
CSDN:https://blog.csdn.net/qq10097355
思否:https://segmentfault.com/u/lowbees/articles
离线ycybx~

只看该作者 4楼 发表于: 2020-11-13
回 dbzhang800 的帖子
dbzhang800:你的100*100 是构造时固定的,还是你代码中改动了 boundRect 大小? (2020-11-12 18:32) 

是固定大小的 其他地方没有修改过
离线ycybx~

只看该作者 5楼 发表于: 2020-11-13
回 dbzhang800 的帖子
dbzhang800:你的100*100 是构造时固定的,还是你代码中改动了 boundRect 大小? (2020-11-12 18:32) 

是固定大小的
离线flyer_2001

只看该作者 6楼 发表于: 2020-11-16
在改变大小之前调用prepareGeometryChange试试
离线ycybx~

只看该作者 7楼 发表于: 2020-11-20
回 flyer_2001 的帖子
flyer_2001:在改变大小之前调用prepareGeometryChange试试 (2020-11-16 00:33) 

解决了 感谢各位大佬 ,我在画这个Item 的时候绘制出了它的boundingRect 没有计算它的笔宽  所以一直存在rect的部分区域是在刷新区域外边的
离线flyer_2001

只看该作者 8楼 发表于: 2020-11-20
回 ycybx~ 的帖子
ycybx~:解决了 感谢各位大佬 ,我在画这个Item 的时候绘制出了它的boundingRect 没有计算它的笔宽  所以一直存在rect的部分区域是在刷新区域外边的 (2020-11-20 14:58)

发现问题思考问题解决问题是进步的阶梯
快速回复
限100 字节
 
上一个 下一个