python3下如何获取鼠标点击处坐标,有什么函数吗

oblivion1234 2018-04-28 10:40:18
在网上搜了很多内容,一个比较有效的就是pyhook,但是配合pythoncom需要使用pywin32,但我目前用的pyqt5来开发,想知道有其他可用的函数吗,或者代码
...全文
2694 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Masec 2018-12-13
  • 打赏
  • 举报
回复
class MyLabel(QLabel):
x0 = 0
y0 = 0
x1 = 0
y1 = 0
flag = False
#鼠标点击事件
def mousePressEvent(self,event):
if event.buttons () == QtCore.Qt.LeftButton:
self.flag = True
self.x0 = event.x()
self.y0 = event.y()
x_start = self.x0
y_start = self.y0
print(x_start)
print(y_start)
#鼠标释放事件
def mouseReleaseEvent(self,event):
self.flag = False
print(x_end)
print(y_end)
#鼠标移动事件
def mouseMoveEvent(self,event):
global x_end
global y_end
if event.buttons () == QtCore.Qt.LeftButton:
if self.flag:
self.x1 = event.x()
self.y1 = event.y()
self.update()
x_end = self.x1
y_end = self.y1
#绘制事件
def paintEvent(self, event):
super().paintEvent(event)
rect =QRect(self.x0, self.y0, abs(self.x1-self.x0), abs(self.y1-self.y0))
painter = QPainter(self)
painter.setPen(QPen(Qt.red,2,Qt.SolidLine))
painter.drawRect(rect)

可以获取点击和释放处坐标
烟oo雨 2018-05-03
  • 打赏
  • 举报
回复
目前我知道的就是用pyhook中的鼠标事件,event.Post
tianfang 2018-04-28
  • 打赏
  • 举报
回复
def mousePressEvent(self, QMouseEvent): print(QMouseEvent.pos()) 就是当前窗口的鼠标位置
oblivion1234 2018-04-28
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
你是自己应用中的鼠标坐标还是其他应用窗口下的
自己应用中的
oblivion1234 2018-04-28
  • 打赏
  • 举报
回复
自己应用中的鼠标坐标
tianfang 2018-04-28
  • 打赏
  • 举报
回复
你是自己应用中的鼠标坐标还是其他应用窗口下的

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧