gpt4 book ai didi

qt - 检测鼠标何时按下按钮进入 QGraphicsItem

转载 作者:行者123 更新时间:2023-12-02 01:16:10 24 4
gpt4 key购买 nike

我想在按下鼠标按钮时检测鼠标光标何时移入QGraphicsItem,即在鼠标进入项目之前按下按钮。我的第一个想法是使用 hoverEnterEvent,但按下鼠标左键时似乎没有触发。我的另一个想法是使用 dragEnterEvent,但它似乎根本没有触发(即使我已经使用了 setAcceptDrops(True)

检测光标何时移动到项目顶部并按下鼠标按钮的最佳方法是什么?

最佳答案

我刚刚发现这个问题,我知道它已经过时了,但我希望我的答案对遇到此问题的人有用。

QGraphicsViewQGraphicsScene派生类中重写mouseMoveEvent方法并检查事件的buttons属性即可知道当前按下了哪些按钮。以下是我正在开发的一个小项目中的 PyQt4 示例代码:

def mouseMoveEvent(self, event):
buttons = event.buttons()
pos = self.mapToScene(event.pos())
object = self.scene().itemAt(pos)

type = EventTypes.MouseLeftMove if (buttons & Qt.LeftButton) else\
EventTypes.MouseRightMove if (buttons & Qt.RightButton) else\
EventTypes.MouseMidMove if (buttons & Qt.MidButton) else\
EventTypes.MouseMove

handled = self.activeTool().handleEvent(type, object, pos)

if (not handled):
QGraphicsView.mouseMoveEvent(self, event)

关于qt - 检测鼠标何时按下按钮进入 QGraphicsItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com