以下のPythonコードは、マウスカーソルの現在の画面座標をリアルタイムで表示するツールです。pyautogui
ライブラリを使用してマウスの位置を取得し、コンソールに座標を表示します。このツールは、デバッグやGUI自動化スクリプトの開発に役立ちます。
import pyautogui
import time
def display_mouse_position():
try:
while True:
# マウスの現在位置を取得
x, y = pyautogui.position()
# 画面に表示
print(f"Mouse position: X={x}, Y={y}", end="\r")
# 少し待機
time.sleep(0.1)
except KeyboardInterrupt:
print("\nExiting program.")
if __name__ == "__main__":
display_mouse_position()
コードの詳細解説
ライブラリーのインストール
pip install pyautogui
ライブラリのインポート
import pyautogui
import time
pyautogui
は、GUI操作を自動化するためのライブラリで、マウスやキーボードの操作をプログラムで制御できます。time
は、時間に関連する関数を提供する標準ライブラリです。
display_mouse_position
関数の定義
def display_mouse_position():
この関数は、マウスの現在位置を継続的に取得して表示します。
無限ループでマウス位置を取得
while True:
# マウスの現在位置を取得
x, y = pyautogui.position()
# 画面に表示
print(f"Mouse position: X={x}, Y={y}", end="\r")
# 少し待機
time.sleep(0.1)
キーボード割り込みの処理
except KeyboardInterrupt:
print("\nExiting program.")
try
ブロック内の無限ループをCtrl+C
で中断すると、KeyboardInterrupt
例外が発生します。except
ブロックでこの例外をキャッチし、プログラムを終了するメッセージを表示します。
メインブロック
if __name__ == "__main__":
display_mouse_position()
この条件は、スクリプトが直接実行された場合にのみdisplay_mouse_position
関数を呼び出すためのものです。他のモジュールからインポートされた場合には実行されません。while True
は無限ループを開始し、pyautogui.position()
を使用してマウスの現在位置を取得します。
取得した座標をprint
関数でコンソールに表示します。end="\r"
は、カーソルを行の先頭に戻すため、座標表示が一行で更新され続けます。time.sleep(0.1)
は、0.1秒間待機することで、表示の更新頻度を調整します
実用例
このツールは、以下のような用途に役立ちます。
GUI自動化のデバッグ
GUI自動化スクリプトを作成する際に、特定のGUI要素の座標を確認するために使用できます。
座標取得
スクリーンショットやクリック操作のために、正確な座標を取得することができます。
ユーザーインターフェースの開発
ユーザーインターフェース開発時に、各要素の配置を確認するために利用できます。
以下に、上記ツールを使って特定のボタンの位置を確認し、その位置でクリック操作を行う例を示します。
例題: 特定の座標でクリック操作
import pyautogui
import time
# マウスカーソルの位置を取得
def get_mouse_position():
try:
while True:
x, y = pyautogui.position()
print(f"Mouse position: X={x}, Y={y}", end="\r")
time.sleep(0.1)
except KeyboardInterrupt:
print("\nExiting program.")
return x, y
if __name__ == "__main__":
print("Move the mouse to the desired position and press Ctrl+C.")
x, y = get_mouse_position()
time.sleep(1) # ユーザーに準備時間を与える
print(f"Clicking at position: X={x}, Y={y}")
pyautogui.click(x, y)
このスクリプトは、ユーザーが特定の位置にマウスを移動させ、Ctrl+C
を押してその位置を記録します。その後、指定された位置でクリック操作を行います。
結論
このマウスカーソルの座標表示ツールは、シンプルながらも非常に実用的なツールです。GUI自動化スクリプトのデバッグや、ユーザーインターフェース開発における座標取得のために活用できます。pyautogui
ライブラリを使用することで、PythonでのGUI操作が簡単に実現でき、多様な応用が可能です。