Python tkinter 如何将光标设置为图像

Python tkinter how can I set the cursor as an image

我希望光标悬停在我的 canvas 上时成为图像,当我 运行 时它给我 'bad cursor spec "pyimage1"' 错误。可能吗?

from tkinter import*

root = Tk()
root.geometry('500x500+0+0')

custom_cursor = PhotoImage(file='custom_cursor.png')

canvas = Canvas(root, height=50, width=50, bg='black', cursor=custom_cursor)
canvas.pack()

root.mainloop()

不,不能将图像用作光标。至少,不是直接的。 cursor 选项必须是以下之一:

  • 标准 X11 游标的名称(有关有效游标名称的列表,请参阅 here
  • X11 或 X10 游标格式的文件路径
  • 仅在 Windows 上,.ani 或 .cur 文件的路径

cursor 选项的最终描述在 Tk_GetCursor

的 tcl/tk 手册页上

由于您使用的是 canvas,您可以通过绘制普通图像并在光标移动时更新它的位置来模拟带有图像的光标,尽管它作为真正的光标会稍微滞后。