python实现鼠标实时坐标监测

python实现鼠标实时坐标监测

一、说明

使用了以下技术和库:

  1. tkinter:用于创建GUI界面。
  2. pyperclip:用于复制文本到剪贴板。
  3. pynput.mouse:用于监听鼠标事件,包括移动和点击。
  4. threading:用于创建多线程,以便在后台执行鼠标事件监听和标签更新的任务。
  5. time:用于控制线程休眠,以定时更新标签文本。

二、代码

# coding=gbk  # 指定文件编码为GBK
import tkinter as tk  # 导入tkinter库,用于创建GUI界面
import pyperclip  # 导入pyperclip库,用于复制文本到剪贴板
from pynput import mouse  # 导入pynput库的mouse模块,用于监听鼠标事件
import threading  # 导入threading库,用于创建多线程
import time  # 导入time库,用于线程休眠# 创建一个MouseCoordinateApp类,用于处理鼠标坐标显示和复制
class MouseCoordinateApp:def __init__(self):self.root = tk.Tk()  # 创建一个Tkinter窗口self.root.title("鼠标坐标实时展示")  # 设置窗口标题self.root.geometry("350x80")  # 设置窗口大小self.root.resizable(False, False)  # 禁止窗口大小调整self.label = tk.Label(self.root, text="单机截取坐标:X: - , Y: -\n实时坐标:X: - , Y: -")  # 创建一个标签控件self.label.pack()  # 将标签控件添加到窗口copy_button = tk.Button(self.root, text="复制坐标", command=self.copy_coordinates)  # 创建一个按钮控件copy_button.pack()  # 将按钮控件添加到窗口self.root.attributes("-topmost", True)  # 设置窗口置顶self.extracted_coordinates = (0, 0)  # 初始化截取坐标self.current_coordinates = (0, 0)  # 初始化实时坐标self.last_extracted_coordinates = (0, 0)  # 初始化上一次截取的坐标self.update_interval = 0.1  # 更新标签的时间间隔threading.Thread(target=self.start_mouse_listener, daemon=True).start()  # 创建并启动鼠标事件监听的线程threading.Thread(target=self.update_label_thread, daemon=True).start()  # 创建并启动标签更新的线程def copy_coordinates(self):x, y = self.last_extracted_coordinates  # 获取上一次截取的坐标coordinates = f"X: {x}, Y: {y}"  # 格式化坐标文本pyperclip.copy(coordinates)  # 复制坐标文本到剪贴板self.label.config(text=f"已复制坐标:{coordinates}")  # 更新标签文本def start_mouse_listener(self):with mouse.Listener(on_move=self.on_move, on_click=self.on_click) as listener:listener.join()  # 启动鼠标事件监听def on_move(self, x, y):self.current_coordinates = (x, y)  # 更新实时坐标def on_click(self, x, y, button, pressed):if pressed:self.last_extracted_coordinates = self.extracted_coordinates  # 更新上一次截取的坐标self.extracted_coordinates = (x, y)  # 如果鼠标被按下,更新截取坐标def update_label_thread(self):while True:time.sleep(self.update_interval)  # 线程休眠一段时间self.update_label()  # 更新标签文本def update_label(self):extracted_x, extracted_y = self.extracted_coordinates  # 获取截取坐标current_x, current_y = self.current_coordinates  # 获取实时坐标self.label.config(text=f"截取坐标:X: {extracted_x}, Y: {extracted_y}\n实时坐标:X: {current_x}, Y: {current_y}")def run(self):self.root.mainloop()  # 启动主程序的主循环if __name__ == "__main__":app = MouseCoordinateApp()  # 创建MouseCoordinateApp实例app.run()  # 启动应用程序的主循环

三、效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/206628.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

除夕不放假HR如何做

国务院办公厅发布了 关于2024年部分节假日安排的通知 全文如下 各省、自治区、直辖市人民政府,国务院各部委、各直属机构: 经国务院批准,现将2024年元旦、春节、清明节、劳动节、端午节、中秋节和国庆节放假调休日期的具体安排通知如下。 …

微软Copilot即将对大陆开放,一起来看看都有什么好用的功能

微软发布了Copilot,12月1日起对大陆用户开放,以下是Copilot的11个新功能,你一定不想错过:1. PowerPoint: 将Word文档转换为演示文稿。从文件中快速创建演示文稿。通过关键幻灯片总结冗长的演示文稿。使用提示添加新的…

动态规划:2304. 网格中的最小路径代价

2304. 网格中的最小路径代价 给你一个下标从 0 开始的整数矩阵 grid ,矩阵大小为 m x n ,由从 0 到 m * n - 1 的不同整数组成。你可以在此矩阵中,从一个单元格移动到 下一行 的任何其他单元格。如果你位于单元格 (x, y) ,且满足…

优质猫罐头有哪些品牌?分享5款宠物店自用值得推荐的猫罐头!

不知不觉已经开宠物店7年啦,店里的猫猫大大小小也算是尝试过很多品牌的猫罐头了。优质猫罐头有哪些品牌?在猫罐头的选购上一开始我也是踩了很多坑,各种踩雷。我深知猫罐头的各种门道,新手一不小心就会着道了。 优质猫罐头有哪些品…

海外IP代理:数据中心代理IP是什么?好用吗?

数据中心代理是代理IP中最常见的类型,也被称为机房IP。这些代理服务器为用户分配不属于 ISP(互联网服务提供商)而来自第三方云服务提供商的 IP 地址。数据中心代理的最大优势——它们允许在访问网络时完全匿名。 如果你正在寻找海外代理IP&am…

『亚马逊云科技产品测评』活动征文|AWS 数据库产品类别及其适用场景详细说明

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 目录 前言、AWS 数据库产品类别 01、Amazon Aurora 02、Amazon Docum…

蓝桥杯算法双周赛心得——迷宫逃脱(记忆化搜索)

大家好,我是晴天学长,非常经典实用的记忆化搜索题,当然也可以用dp做,我也会发dp的题解,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .迷宫逃脱 迷官逃脱…

智能合约安全漏洞与解决方案

// SPDX-License-Identifier: MIT pragma solidity ^0.7.0;import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.3/contracts/math/SafeMath.sol";/*智能合约安全在智能合约中安全问题是一个头等大事,因为智能合约不像其他语…

解决Vision Transformer在任意尺寸图像上微调的问题:使用timm库

解决Vision Transformer在任意尺寸图像上微调的问题:使用timm库 文章目录 一、ViT的微调问题的本质二、Positional Embedding如何处理1,绝对位置编码2,相对位置编码3,对位置编码进行插值 三、Patch Embedding Layer如何处理四、使…

国民新旅游时代,OTA们如何制胜新周期?

文 | 螳螂观察(TanglangFin) 作者 | 图霖 消费全面复苏的大背景下,旅游业正迎来预期中的拐点。 一个显著表现是,旅游消费正在从可选消费转化成必选消费。 国内消费者旅游需求的不降反增,就是最好的印证。 同程研究…

【grep】从html表格中快速定位某个数据

文章目录 1 背景2 参考知识2.1 grep2.2 HTML基础语言标签 3 解决方案 1 背景 在html中是一堆表格、图片、文字什么的,想从表格中提取关键词为“GJC”后对应的数字,怎么办呢? 逐个打开html文件,“ctrlF”搜一下,然后复…