在Python Tkinter中获取鼠标位置

在Python Tkinter中获取鼠标位置

在Tkinter中获取鼠标位置是非常简单的事情,我们只需要调用winfo_pointerxy()函数即可获得鼠标在窗口中的位置坐标。

from tkinter import *

root = Tk()

def print_pos(event):
    x, y = event.widget.winfo_pointerxy()
    print("鼠标位置:x=", x, " y=", y)

root.bind('<Motion>', print_pos)
root.mainloop()

在窗口中移动鼠标,我们就可以通过print_pos()函数实时输出鼠标在窗口中的位置坐标。

我们也可以在创建时设置鼠标移动事件,以实现类似电子表盘中指针的移动效果。

from tkinter import *

root = Tk()

canvas = Canvas(root, width=300, height=300)
canvas.pack()

def pointer_move(event):
    x, y = event.widget.winfo_pointerxy()
    angle = (450 - x) % 360
    r = 100
    canvas.delete("pointer")
    canvas.create_line(150, 150, 150 + r * cos(angle * pi / 180), 150 - r * sin(angle * pi / 180), fill='red', width=5, tags="pointer")

root.bind('<Motion>', pointer_move)
root.mainloop()

在这个示例中,鼠标水平移动时,我们通过计算指针所指的角度,并绘制一条红色线来不断更新指针的位置。

结论

Python Tkinter中获取鼠标位置,只需要调用winfo_pointerxy()函数即可获得鼠标在窗口中的位置坐标。我们可以基于此实现更多有趣的应用场景。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程