我想更改鼠标在像素范围内时光标的外观,并且当鼠标超出该范围时,它将变为正常(我不要要使用画布/其他小部件“ cursor =“ kwarg)
from tkinter import*
root = Tk()
root.geometry('500x500+0+0')
def change_cursor(event):
if event.x in range(450,500):
#change how the cursor looks
root.bind('<B1-Motion>', change_cursor)
root.mainloop()
答案 0 :(得分:0)
不幸的是,要做您想要做的唯一方法是使用root.config(cursor="cursor_name")
。 "watch"
cursor_name用于忙碌的游标,""
cursor_name用于普通游标。
您还需要将"<B1-Motion>"
事件(鼠标拖动,按住鼠标左键)更改为"<Motion>"
事件(鼠标移动,无需按任何鼠标按钮)。
当然,您需要将光标改回(else
块)
这是固定代码:
from tkinter import*
root = Tk()
root.geometry("500x500+0+0")
def change_cursor(event):
if event.x in range(450, 500):
root.config(cursor="watch")
else:
root.config(cursor="")
root.bind("<Motion>", change_cursor)
root.mainloop()