마우스의 위치를 얻고 var로 설정할 방법이 있습니까?마우스 위치 Python Tkinter
12
A
답변
15
당신은 <Motion>
이벤트에 반응하는 콜백을 설정할 수 있습니다 :
import Tkinter as tk
root = tk.Tk()
def motion(event):
x, y = event.x, event.y
print('{}, {}'.format(x, y))
root.bind('<Motion>', motion)
root.mainloop()
나는 당신이 원하는 변수의 종류를 모르겠어요. 위의 경우 로컬 변수 x
및 y
을 마우스 좌표에 설정합니다.
motion
을 클래스 메서드로 만들면 self.x
및 self.y
을 마우스 좌표에 설정할 수 있습니다. 그러면 다른 클래스 메서드에서 액세스 할 수 있습니다.
16
언제든지 방법 winfo_pointerx
과 winfo_pointery
을 사용하여 루트 창에 상대적인 x, y 좌표를 얻을 수 있습니다.
root = tk.Tk()
...
x = root.winfo_pointerx()
y = root.winfo_pointery()
abs_coord_x = root.winfo_pointerx() - root.winfo_rootx()
abs_coord_y = root.winfo_pointery() - root.winfo_rooty()
도 참조 : (HTTP [파이썬을 사용하여 활성 창을 받기] 절대 화면이 변환하려면 당신이
winfo_pointerx
또는winfo_pointery
을 얻고, 그에서 예를 들어 각각의winfo_rootx
또는winfo_rooty
을 뺄 수 있습니다 좌표 : //stackoverflow.com/q/10266281/562769) –