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

张开发
2026/4/3 14:23:58 15 分钟阅读
用python写一个获取鼠标坐标的工具
1.导入所需要的库tkinterPython 的标准 GUI 库用于创建窗口、按钮、标签等界面元素。pyautogui用于控制鼠标和键盘的库这里用来获取鼠标的坐标。from tkinter import * import tkinter as tk import pyautogui as pg如果没有安装则需要在终端输入pip install pyautogui pip install tk2.定义MousePositionApp类,初始化界面:class MousePositionApp: def __init__(self, root): self.root root self.root.title(自动获取鼠标坐标值) #设置窗口标题 self.root.geometry(200x1001000300) #设置窗口大小和初始位置创建按钮和标签self.fetch_button tk.Button(root, text获取坐标, commandself.mouse_position) self.fetch_button.pack() self.position_label Label(root, textX: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(textX:{},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(200x1001000300) self.fetch_button tk.Button(root, text获取坐标, commandself.mouse_position) self.fetch_button.pack() self.position_label Label(root, textX: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(textX:{},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()

更多文章