专家你好,我遇到一个棘手的问题,我在canvas上加了滚动条,需要输出鼠标位置,发现拖动滚动条后,输出的坐标不准确,是未拖动前的坐标,不知道怎么解决,请您帮忙,下面是代码
from tkinter import *
def locationx(event):#获取并输出鼠标的坐标
lb_locationx.config(text=str(event.x)+' '+str(event.y))
root=Tk()
root.geometry('800x500')
frame=Frame(root)
frame.grid(row=0,column=0,rowspan=10)
hbar=Scrollbar(frame,orient=HORIZONTAL)
vbar=Scrollbar(frame,orient=VERTICAL)
cv=Canvas(frame,bg='khaki',width=400,height=300,xscrollcommand=hbar.set, yscrollcommand=vbar.set,scrollregion=(0,0,1200,1200))
hbar.pack(side=BOTTOM,fill=X)
hbar.config(command=cv.xview)
vbar.pack(side=RIGHT,fill=Y)
vbar.config(command=cv.yview)
cv.pack(side=LEFT,expand=True,fill=BOTH)
bt1=Button(root,text='画节点')
bt1.grid(row=0,column=1)
lb_locationx=Label(root)#输出鼠标所在位置
lb_locationx.grid(row=10,column=1,sticky=W)
lb_locationy=Label(root)
lb_locationy.grid(row=11,column=1,sticky=W)
cv.bind('<Motion>',locationx)#绑定获取位置的方法
root.mainloop()