QT QGraphicsItem 鼠标 事件 问题。

时间:2022-11-22 23:24:12
QGraphicsItem 可以处理 QGraphicsScene 传递过来的事件。

在这里有一点疑惑,望获得证实。

QGraphicsItem 里面 有mousePressEvent 和 mouseReleaseEvent 两个事件。

在mousePressEvent 被处理以后 ,按照道理说,鼠标点击下去以后,一定会有一个松开事件,

那这里,这个mouseReleaseEvent 是鼠标松开事件呢?还是 Item被点击以后释放事件。

个人经过测试以后发现,mouseReleaseEvent会由响应了mousePressEvent事件的item处理。
测试的时候是使用 继承自QGraphicsRectItem的两个不同的类 的物体。

如果,如同上面所说,mouseReleaseEvent 事件是一个点击以后的释放事件。

那么有什么函数 是 鼠标弹起来这个事件?

4 个解决方案

#1


使用Drag和Drop吗?

#2


你把光标移动出该item再释放,你再看看效果

#3


引用 2 楼 kuyucman 的回复:
你把光标移动出该item再释放,你再看看效果

移出去了再释放。release也会被那个item 响应。

#4


引用 2 楼 kuyucman 的回复:
你把光标移动出该item再释放,你再看看效果

啊。。。弄出来了。目前测试的结果是
item里面的函数响应确实是这样。
scene 里面 press 和 release 是分开响应的。

#1


使用Drag和Drop吗?

#2


你把光标移动出该item再释放,你再看看效果

#3


引用 2 楼 kuyucman 的回复:
你把光标移动出该item再释放,你再看看效果

移出去了再释放。release也会被那个item 响应。

#4


引用 2 楼 kuyucman 的回复:
你把光标移动出该item再释放,你再看看效果

啊。。。弄出来了。目前测试的结果是
item里面的函数响应确实是这样。
scene 里面 press 和 release 是分开响应的。