用python显示鼠标位置
我想跟踪我的鼠标位置,并在一个小窗口中显示。 为此,我创建了以下代码:用python显示鼠标位置,python,linux,tkinter,xlib,Python,Linux,Tkinter,Xlib,我想跟踪我的鼠标位置,并在一个小窗口中显示。 为此,我创建了以下代码: #! /usr/bin/python from Tkinter import * from Xlib import display def mousepos(): data = display.Display().screen().root.query_pointer()._data return data["root_x"], data["root_y"] root = Tk() strl = "mo
#! /usr/bin/python
from Tkinter import *
from Xlib import display
def mousepos():
data = display.Display().screen().root.query_pointer()._data
return data["root_x"], data["root_y"]
root = Tk()
strl = "mouse at {0}".format(mousepos())
lab = Label(root,text=strl)
lab.pack()
root.title("Mouseposition")
root.mainloop()
这个小脚本在启动时显示鼠标位置,但在鼠标移动时不刷新。我没有支持它(我说过我是python新手吗?)。
我想我必须使用Xlib中的一个事件来告诉我的脚本鼠标何时移动
如何刷新鼠标位置
root.after
定期调用update
strl=tk.StringVar()
和tk.Label(…,textvariable=strl)
允许更改标签文本李>
strl.set()
更改标签文本screenroot
的默认值,该值等于display.display().screen().root
到mousepos
,这样大部分长链函数调用
每次调用mousepos
时不重复。在没有任何参数的情况下调用mousepos()
,将继续正常工作完美的有什么把戏能让窗口保持在前景吗?可能有,但我不知道有什么把戏。它可能依赖于窗口管理器和/或操作系统。据了解,在tk/tcl中,无法从it可靠地执行此操作。根据需要,可以在Windows中调用
root.wm\u属性(“-topmost”,1)
。确定。谢谢你的帮助:)我正在使用debian 6.0和gnome顺便说一句。所以,如果你还记得保持窗口顶部的任何技巧,请毫不犹豫地告诉我:)
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()