标签: python canvas tkinter scrollbar coordinates
我有一个带滚动条的Tkinter画布,还有一些项目,当我点击它们时,它应该返回坐标。 (使用Python。)
这适用于最初在窗口中可见的对象。然而,当我向下滚动时,画布上的物品进入视图,我点击时没有获得画布坐标,但窗口坐标。
我找不到关于如何获得绝对坐标的信息,所以我想知道这里是否有人知道该怎么做?
感谢。
答案 0 :(得分:9)
查看画布小部件here的文档。
要从窗口坐标转换为画布坐标,请使用canvasx和canvasy方法。
canvasx
canvasy
以下是一个示例回调函数,它可以转换窗口的x和y坐标,并通过find_closest() method打印最接近该位置的项目。
find_closest()
def callback(event): canvas = event.widget x = canvas.canvasx(event.x) y = canvas.canvasy(event.y) print canvas.find_closest(x, y)