Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用python捕捉鼠标移动?_Python_Pyqt_Pyqt5 - Fatal编程技术网

如何用python捕捉鼠标移动?

如何用python捕捉鼠标移动?,python,pyqt,pyqt5,Python,Pyqt,Pyqt5,我的主要想法是计算鼠标移动的时间。我想启动python脚本并从一开始就花时间。Idk如何在清晰的python中实现它,但我读过关于Qt的文章,它似乎对这项任务很有帮助。但是我从来没有使用过它,我看到了很多关于跟踪鼠标移动的信息,但是idk我能计算时间吗?怎么做 不清楚您要计算的时间。下面的代码将根据当前鼠标位置和每次鼠标移动时的最后一个鼠标位置以每秒像素为单位打印速度 导入系统 输入数学 导入时间 从PyQt5.QtWidgets导入QApplication,QMainWindow def距离(

我的主要想法是计算鼠标移动的时间。我想启动python脚本并从一开始就花时间。Idk如何在清晰的python中实现它,但我读过关于Qt的文章,它似乎对这项任务很有帮助。但是我从来没有使用过它,我看到了很多关于跟踪鼠标移动的信息,但是idk我能计算时间吗?怎么做

不清楚您要计算的时间。下面的代码将根据当前鼠标位置和每次鼠标移动时的最后一个鼠标位置以每秒像素为单位打印速度

导入系统 输入数学 导入时间 从PyQt5.QtWidgets导入QApplication,QMainWindow def距离(x1、y1、x2、y2): 返回数学sqrt((x2-x1)**2+(y2-y1)**2) 类框架: 定义初始(自身、位置、时间): self.position=位置 self.time=时间 def速度(自身、机架): d=距离(*自身位置,*帧位置) 时间_delta=abs(frame.time-self.time) 如果时间_delta==0: 一无所获 其他的 返回数据/时间增量 类主窗口(QMainWindow): def uuu init uuu(self,parent=None): 超级(主窗口,自我)。\uuuuu初始化\uuuuuuu(父级) self.last_frame=无 self.setMouseTracking(True) def mouseMoveEvent(自身、事件): new_frame=frame((event.x(),event.y()),time.time()) 如果self.last_帧: 打印(新帧速度(自上次帧)) self.last_frame=新_frame 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app=QApplication(sys.argv) w=主窗口() w、 调整大小(900600) w、 show() app.exec() 编辑:您可以使用以下代码在整个屏幕上跟踪窗口外的鼠标移动速度,这次是在一个无休止的循环中,而不是在鼠标事件上。但是,如果来回移动鼠标,如果轮询间隔太高,这些距离可能会相互抵消

导入系统 输入数学 导入时间 从PyQt5.QtGui导入QCursor 从PyQt5.QtWidgets导入QApplication 类框架: 定义初始(自身、位置、时间): self.position=位置 self.time=时间 def速度(自身、机架): d=距离(*自身位置,*帧位置) 时间_delta=abs(frame.time-self.time) 如果时间_delta==0: 一无所获 其他: 返回数据/时间增量 def距离(x1、y1、x2、y2): 返回数学sqrt((x2-x1)**2+(y2-y1)**2) def get_current_cursor_position(): pos=QCursor.pos() 返回位置x(),位置y() def get_current_frame(): 返回帧(获取当前光标位置(),time.time()) 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app=QApplication(sys.argv) 最后一帧=获取当前帧() 尽管如此: 新建\帧=获取\当前\帧() 打印(新帧速度(最后一帧)) 最后一帧=新帧 睡眠时间(0.1)
谢谢,我有办法修改这个脚本,他会执行我的任务!