手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

PyQt5-如何操作鼠标位置,和跟踪鼠标

时间:2024-10-13 16:44:06

鼠标指针位置的获取,设置鼠标位置;跟踪鼠标的操作。

1.获取鼠标指针位置

1、获取指针对象的桌面位置坐标:QCursor.pos()指针类的pos(),返回QPoint(w,h)

PyQt5-如何操作鼠标位置,和跟踪鼠标

2、如果要获取指针单个值可以x(),y()来调用例如:print(QCursor.pos().x())print(QCursor.pos().y())

PyQt5-如何操作鼠标位置,和跟踪鼠标

2.指针位置的设置

1、设置鼠标指针位置:QCursor.setPos(x,y)鼠标指针会移动到设置的x,y点

PyQt5-如何操作鼠标位置,和跟踪鼠标

3.鼠标跟踪

1、查看鼠标是否被跟踪:hasMouseTracking()返回True,False。例子看出默认是False。

PyQt5-如何操作鼠标位置,和跟踪鼠标

2、重写mouseMoveEvent(QMouseEvent)方法:用来调用鼠标的事件;参数是鼠标事件类对象。例如图片例子中:def mouseMoveEvent(self, mE): print('moving...')参数mE,是QMouseEvent类对象,(mEvent = QMouseEvent)

PyQt5-如何操作鼠标位置,和跟踪鼠标

3、setMouseTracking(blool),设置是否开启鼠标跟踪。(其实只对鼠标没有按下时有用,当鼠标键按下时即使设置False,仍然会调用跟踪函数)。参数为True时开启参数为False时关闭。例如:self.setMouseTracking(True)可以看出有两种情况可以调用此函数:①即使没有开启鼠标跟踪,当在控件内按下鼠标键移动时,会调用鼠标移动事件函数mouseMoveEvent(),②开启鼠标跟踪,此时不按鼠标键,在控件范围内移动鼠标就会调用mouseMoveEvent()函数。

PyQt5-如何操作鼠标位置,和跟踪鼠标

4.鼠标事件的相关函数

1、mouseMoveEvent猾诮沓靥(QMouseEvent):参数鼠标移动事件对象的函数可以获得很多的数据。①获取鼠标相对桌面的坐标:globalPos()当鼠标移动时,鼠标事件对象的爿讥旌护globalPos()返回鼠标相对桌面的位置类型QPoint(x,y)print('mouse is moving...',mE.globalPos())

PyQt5-如何操作鼠标位置,和跟踪鼠标

2、如果要输出数值使用x(),y()函数。print('move to:', mE.globalPos().x(),mE.globalPos().y())或,print('move to:', mE.globalX(), mE.globalY())

PyQt5-如何操作鼠标位置,和跟踪鼠标

3、获取鼠标相对控件的坐标:print('move to:', mE.localPos().x(),mE.localPos().y())

PyQt5-如何操作鼠标位置,和跟踪鼠标

4、获取以屏幕为参考的鼠标坐标获取以窗口为参考的鼠标坐标print('move to:', mE.screenPos().x(), mE.screenPos().y())print('move to:', mE.windowPos().x(), mE.windowPos().y())

PyQt5-如何操作鼠标位置,和跟踪鼠标
© 手抄报圈