我能在Python中跟踪整个屏幕上的鼠标指针吗?

3

我希望能够追踪鼠标,覆盖整个屏幕,而不仅限于我的GUI界面。

我以前可以在C和MATLAB中做到这一点,但现在我正在使用Python和Tkinter。


可能是Mouse Position Python Tkinter的重复问题。 - user2314737
@well3,你可以使用外部库pygame来完成它,你想使用吗? - Ganesh Vellanki
我从未仔细研究过PyGame - 它有什么好处? - Well3
3个回答

7

我真是个傻瓜 -- 这非常简单,甚至不需要运行GUI。

import Tkinter as tk
root = tk.Tk()

root.winfo_pointerx()  # this returns the absolute mouse x co-ordinate.

3

尝试以下示例代码,它将帮助您更好地理解

import Tkinter as tk
import Xlib.display as display

def mousepos(screenroot=display.Display().screen().root):
    pointer = screenroot.query_pointer()
    data = pointer._data
    return data["root_x"], data["root_y"]

def update():
    strl.set("mouse at {0}".format(mousepos()))
    root.after(100, update)

root = tk.Tk()
strl = tk.StringVar()
lab = tk.Label(root,textvariable=strl)
lab.pack()
root.after(100, update)
root.title("Mouseposition")
root.mainloop()

此外,如果您有任何疑问,请在评论区留言。

0

我相信你需要使用一些系统库来实现这个功能,因为Tkinter可能只能跟踪指针在主窗口内的位置。

为了实现这个目的和更多的功能,有一个叫做PyUserInput的库。

我希望这就是你要找的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接