QGraphicsItem学习

图形项操作与限定区域
本文探讨了在自定义图形项时如何通过重写shape函数并利用painterpath来限定图形项的操作区域,确保只有特定形状(如圆)内接受交互,而忽略其他区域。
事件在Scene的event分发
事件在Item的SceneEvent分发



要想事件在项目选中没的情况下将
鼠标按在item的的消息传到item的mousePressEvent
只能在Scene显式的调用item- > mousePressEvent(E);


boundingRect区域的就是当要重绘的整个图形项的大小我们只能在这个区域操作
图形项能接收到我们的操作也是在这个区域中,自定义图形项Item时,想让要限操作
定在一个不规则图形中要用重写shape函数,里面用painterpath来规定区域。例如,我
们在bundingRect中要画一个圆,我们要求点击圆,做某些事,点击包含这个圆的
bundingRect的其他区域不做任何处理。这就要用到的shape了。这样,我们的操作,就
限定在这个shape中了,由scene调用的重绘就限定在bundingRect中,为什么呢?想你一
下,如果这个图形项要不仅要画个圆,还要画个矩形,这个矩形只是个装饰,就要那么
限定一个bundingRect,即可减少scene调用重绘时的重绘区域,将又能图片多个指定
为一个图形项, (也可应用渐变等)用shape限定响应区域。



boundingRect的区域就是当要重绘的整个图形项的大小我们只能在这个区域操作
图形项能接收到我们的操作也是在这个区域中,自定义图形项项目时,要想让操作限
定在一个不规则图形中要用重写形状函数,里面用paintpath来规定区域。例如,我
们在bundingRect中要画一个圆,我们要求点击圆,做某些事,点击包含这个圆的
bundingRect的其他区域不做任何处理。这就要用到形状了。这样,我们的操作,就
限定在这个造型中了,由现场调用的重绘就限定在bundingRect中,为什么呢?你想一
下,如果这个图形项要不仅要画个圆,还要画个矩形,这个矩形只是个装饰,那么就要
限定一个bundingRect,即可减少现场调用重绘时的重绘区域,又能将多个图片指定
为一个图形项,(也可应用渐变等)用形状限定响应区域。



好烦啊,csdn老是自动翻译我文章中的英文单词,

这篇博文像什么啊。








评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值