マウスの位置を取得して変数として設定する方法はありますか?
78392 次
4 に答える
43
<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
マウス座標に設定でき、他のクラスメソッドからアクセスできるようになります。
于 2014-04-08T00:53:36.697 に答える
41
いつでもメソッドwinfo_pointerx
を使用winfo_pointery
して、ルート ウィンドウを基準とした x、y 座標を取得できます。それを絶対スクリーン座標に変換するには、winfo_pointerx
またはを取得し、そこからそれぞれのまたはwinfo_pointery
を引きます。winfo_rootx
winfo_rooty
例えば:
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()
于 2014-04-08T16:45:38.050 に答える