从TKinter中鼠标点击获取像素位置

时间:2013-12-18 14:57:47

标签: python tkinter bind

我对Python很陌生并且未能找到解决此问题的方法。我有一个使用TKinter的GUI,它使用Label显示图像。我希望用户能够点击图像中的两个位置,并在其他地方使用这两个像素位置。

以下是我目前使用的基本代码,但我无法返回像素位置。我相信bind不是我想要使用的,还有其他选择吗?

px = []
py = []

def onmouse(event):
        px.append(event.x)
        py.append(event.y)
        return px,py

self.ImgPanel.bind('<button-1>',onmouse)

如果我尝试使用:

px,py = self.ImgPanel.bind('<button-1>',onmouse)

我收到错误&#34;太多值要解压&#34;

1 个答案:

答案 0 :(得分:1)

如果要捕获点击的x,y坐标,

bind就是你想要的。但是,从绑定调用的函数不会“返回”。从技术上讲,他们确实做到了,但他们为Tkinter的内部提供了一个价值。

您需要做的是在绑定函数中设置实例或全局变量。在您的问题中包含的代码中,如果添加global px,py,则可以在其他代码中使用这些值。