2 回答

TA贡献1773条经验 获得超3个赞
这只会在Label鼠标位于 tkinter 窗口内时更新:
无需使用 win32api,tkinter 内置了它。我们可以将一个函数绑定到root的<Motion>键上,并使用给定的位置参数event来检索鼠标的坐标。
from tkinter import Tk, Label
root = Tk()
label = Label(root)
label.pack()
root.bind("<Motion>", lambda event: label.configure(text=f"{event.x}, {event.y}"))
root.mainloop()

TA贡献1804条经验 获得超2个赞
您可以使用它after()来定期获取鼠标坐标并更新标签。
下面是一个例子:
import tkinter as tk
import win32api
root = tk.Tk()
mousecords = tk.Label(root)
mousecords.place(x=0, y=0)
def show_mouse_pos():
x, y = win32api.GetCursorPos()
#x, y = mousecords.winfo_pointerxy() # you can also use tkinter to get the mouse coords
mousecords.config(text=f'x : {x}, y : {y}')
mousecords.after(50, show_mouse_pos) # call again 50ms later
show_mouse_pos() # start the update task
root.mainloop()
添加回答
举报