用python写一个获取鼠标坐标的工具

1.导入所需要的库:
  • tkinter:Python 的标准 GUI 库,用于创建窗口、按钮、标签等界面元素。

  • pyautogui:用于控制鼠标和键盘的库,这里用来获取鼠标的坐标。

from tkinter import *
import tkinter as tk
import pyautogui as pg

如果没有安装,则需要在终端输入:

pip install pyautogui
pip install tk

 

2.定义MousePositionApp类,初始化界面:

class MousePositionApp:
    def __init__(self, root):
        self.root = root
        self.root.title("自动获取鼠标坐标值") #设置窗口标题
        self.root.geometry("200x100+1000+300") #设置窗口大小和初始位置

创建按钮和标签

self.fetch_button = tk.Button(root, text="获取坐标", command=self.mouse_position)
self.fetch_button.pack()

self.position_label = Label(root, text="X:0,y:0", font=("黑体", 20, "bold"))
self.position_label.pack()
绑定关闭事件
self.root.protocol("WM_DELETE_WINDOW", self.on_closing) 
#当用户点击窗口的关闭按钮时,调用 self.on_closing 方法。

3.定义update_position方法:获取鼠标坐标

def update_position(self):
    try:
        mouse_x, mouse_y = pg.position() #使用 pyautogui 获取当前鼠标的坐标值
        print("鼠标位置的坐标值:", mouse_x, mouse_y)
        self.position_label.config(text="X:{},y:{}".format(mouse_x, mouse_y)) #更新标签内容,显示当前鼠标坐标。
    except Exception as e: #如果获取坐标失败,捕获异常并显示错误信息。
        print("获取坐标失败:", e)
        self.position_label.config(text="获取坐标失败")





4.定义mouse_position方法:设置 1000 毫秒(1 秒)后调用update_position方法

    def mouse_position(self):
        # 调用 update_position 方法,并设置 1000 毫秒(1 秒)后再次调用
        self.root.after(1000, self.update_position)

5. 定义on_closing方法:关闭窗口

def on_closing(self):
    print("程序退出")
    self.root.destroy()

6.主程序入口

 

if __name__ == "__main__":
    root = tk.Tk() #创建主窗口对象。
    app = MousePositionApp(root) #实例化 MousePositionApp 类,传入主窗口对象。
    root.mainloop() #启动Tkinter的事件循环,保持窗口运行。

运行代码后,会弹出一个窗口,点击“获取坐标”按钮即可显示当前鼠标的位置。

最后,全部代码如下

from tkinter import *
import tkinter as tk
import pyautogui as pg


class MousePositionApp:
    def __init__(self, root):
        self.root = root
        self.root.title("自动获取鼠标坐标值")
        self.root.geometry("200x100+1000+300")

        self.fetch_button = tk.Button(root, text="获取坐标", command=self.mouse_position)
        self.fetch_button.pack()

        self.position_label = Label(root, text="X:0,y:0", font=("黑体", 20, "bold"))
        self.position_label.pack()

        self.root.protocol("WM_DELETE_WINDOW", self.on_closing)


    def update_position(self):
        try:
            mouse_x, mouse_y = pg.position()  # 使用 pyautogui 获取当前鼠标的坐标值
            print("鼠标位置的坐标值:", mouse_x, mouse_y)
            self.position_label.config(text="X:{},y:{}".format(mouse_x, mouse_y))  # 更新标签内容,显示当前鼠标坐标。

        except Exception as e:  # 如果获取坐标失败,捕获异常并显示错误信息。
            print("获取坐标失败:", e)
            self.position_label.config(text="获取坐标失败")


    def mouse_position(self):
        # 调用 update_position 方法,并设置 1000 毫秒(1 秒)后再次调用
        self.root.after(1000, self.update_position)


    def on_closing(self):
        print("程序退出")
        self.root.destroy()



if __name__ == "__main__":
    root = tk.Tk()
    app = MousePositionApp(root)
    root.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值