Raspberry Piで動くか解りませんが、
こんな感じでしょうか。
python
1import tkinter as tk
2from tkinter import ttk
3
4if __name__ == '__main__':
5 root = tk.Tk()
6 root.geometry("200x200+10+10")
7 def clicked():
8 # マウスカーソルを移動
9 root.event_generate('<Motion>', warp=True, x=20, y=20)
10 button = ttk.Button(root, text="move mouse cursor", command=clicked)
11 button.pack(fill=tk.BOTH, expand=1)
12 root.mainloop()
注意点は、自分のウィンドウの左上の座標が (0, 0) になります。
ウィンドウ外への移動も 負の値を設定する等で可能。
追記: ゆっくりマウスカーソルを移動
python
1import tkinter as tk
2from tkinter import ttk
3import time
4
5if __name__ == '__main__':
6 root = tk.Tk()
7 root.geometry("200x200+10+10")
8
9 def mouse_move_to(to_x, to_y, step=100, interval=0.01):
10 def mouse_move_func(event):
11 x = event.x
12 y = event.y
13 step_x = (to_x - event.x) / step
14 step_y = (to_y - event.y) / step
15
16 for _ in range(step):
17 x += step_x
18 y += step_y
19 root.event_generate('<Motion>', warp=True, x=x, y=y)
20
21 # この関数が終わるまでmainloop() は呼ばれません。
22 # update()で明示的にカーソル位置更新。
23 time.sleep(interval)
24 root.update()
25 else:
26 # 最終的な位置調整
27 root.event_generate('<Motion>', warp=True, x=to_x, y=to_y)
28 return mouse_move_func
29
30 button = ttk.Button(root, text="move mouse cursor")
31 button.bind("<1>", mouse_move_to(20, 20))
32 button.pack(fill=tk.BOTH, expand=1)
33 root.mainloop()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/14 07:11