前提・実現したいこと
Python初学者です。プログラミングは、少し昔触った程度の素人です。また、オブジェクト指向についてもなんとなくしかわかっていません
マウスのクリックイベントを取得して、スクリーンショットを取りたいと思っています。
pynputライブラリを使うとできるのかと思ったのですが、そもそもサンプルコードを読み解けません。
教えていただけないでしょうか。
発生している問題・エラーメッセージ
具体的な質問
①このコードの関数は、元のpynputのクラスのメソッドをオーバーライドしているのでしょうか。
② on_clickの関数内でprint('{0} at {1}'.format(
'Pressed' if pressed else 'Released',
(x, y))) と書かれていますが、formatの中でPressedがTRUEかFALSEか見て 出力しているということでしょうか。 formatの基本的な書き方しか知らずこういうこともできるのかと困惑しています。
③最後のwith mouse.Listener(
on_move=on_move,
on_click=on_click,
on_scroll=on_scroll) as listener:
listener.join()
ここが一番わかりません。 with構文は、ファイル入出力処理などで使用するという基本的な話は見たのですが、これはそういうことではないですよね?
ごちゃごちゃな質問で申し訳ありません。よろしくお願いします。
該当のソースコード
Python
1 2from pynput import mouse 3 4def on_move(x, y): 5 print('Pointer moved to {0}'.format( 6 (x, y))) 7 8def on_click(x, y, button, pressed): 9 print('{0} at {1}'.format( 10 'Pressed' if pressed else 'Released', 11 (x, y))) 12 if not pressed: 13 # Stop listener 14 return False 15 16def on_scroll(x, y, dx, dy): 17 print('Scrolled {0} at {1}'.format( 18 'down' if dy < 0 else 'up', 19 (x, y))) 20 21# Collect events until released 22with mouse.Listener( 23 on_move=on_move, 24 on_click=on_click, 25 on_scroll=on_scroll) as listener: 26 listener.join() 27
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。