Kivy アプリでカスタム カーソルを作成しようとしています。Kivyウィジェットの位置をカーソル位置に結び付ける角度からアプローチすることを検討しました。ただし、この方法は非常に扱いにくく、きれいではありません。最悪の場合は、そのアプローチに固執することができますが、Python 自体でカスタム カーソルを作成する方法があるかどうかに興味がありました。
Python でカスタム カーソルを作成する無数の例を見てきましたが、実際の Windows カーソルを破棄して再作成する必要があることがわかった例はすべてあります。私が見つけたすべての例は、このアプローチを強く思いとどまらせます。カーソルを再作成する前にプログラムを終了すると、明らかに再作成されず、カスタム カーソルが残るからです (手動でリセットできますが、私のプログラムはお客様の使用のため)。Pythonでカーソルを十字線、手、および選択したさまざまなカーソルに設定できることは承知していますが、カーソルに実際の画像を使用したいと思います。
以下は、カーソルを破棄して再作成するコードの例です (回避することをお勧めする方法です)。この (動作する) コードのスニペットは、 How to change cursor image in Python への回答にあります。
hold = win32gui.LoadImage(0, 32512, win32con.IMAGE_CURSOR,
0, 0, win32con.LR_SHARED )
hsave = ctypes.windll.user32.CopyImage(hold, win32con.IMAGE_CURSOR,
0, 0, win32con.LR_COPYFROMRESOURCE)
hnew = win32gui.LoadImage(0, 'file.cur',
win32con.IMAGE_CURSOR, 0, 0, win32con.LR_LOADFROMFILE);
ctypes.windll.user32.SetSystemCursor(hcursor, 32512)
time.sleep(5)
#restore the old cursor
ctypes.windll.user32.SetSystemCursor(hsave, 32512)
私の答えは、上記のコードの適応にありますか? それとも、全体的により良いアプローチがありますか? Python でカスタム カーソルを設定できる必要があることはわかっています。アクセスするすべてのソースに空白を追加しているだけです。
PS私は私の質問について前もって謝罪します.これはスタックハハに関する私の最初の質問です.