Python 如何在tkinter中单击图像时获取图像的x轴、y轴值

Python 如何在tkinter中单击图像时获取图像的x轴、y轴值,python,tkinter,Python,Tkinter,我试图在plone站点的tkinter中单击图像时获取图像的(x轴,y轴)值。因此,每当我单击图像时,我都需要获取图像的(x轴,y轴)值。问题是我无法获取值 我已经在tkinter的画布上动态创建了图像。因此,当我单击图像时,我需要获得x轴、y轴的值。我将在下面深入解释我的代码 class A(BrowserView): def B(event): x = event.x y = event.y def C(self): root = Tk()

我试图在plone站点的tkinter中单击图像时获取图像的(x轴,y轴)值。因此,每当我单击图像时,我都需要获取图像的(x轴,y轴)值。问题是我无法获取值

我已经在tkinter的画布上动态创建了图像。因此,当我单击图像时,我需要获得x轴、y轴的值。我将在下面深入解释我的代码

class A(BrowserView):
   def B(event):
      x = event.x
      y = event.y
   def C(self):
      root = Tk()
      canvas = Canvas(width = 200, height = 250, bg = 'white')
      canvas.pack(expand = 'NO', fill = BOTH)
      gif1 = ImageTk.PhotoImage(file = 'image1.png')
      D=canvas.create_image(50,50, image = gif1, anchor = NW)
      canvas.tag_bind(D, '<ButtonPress-1>',self.B()) #it will trigger the method B
      canvas.pack()

请帮助我解决此问题。请提前感谢。

您对
B
的定义缺少
self
参数。您应该这样编码:

def B(self, event):
    ...
您还将绑定设置错误。创建绑定时,必须为其提供对函数的引用。您所做的是调用函数并将该函数的结果提供给绑定

换句话说,与此相反:

canvas.tag_bind(...,self.B())
您应该这样做:

canvas.tag_bind(...,self.B)

我可以触发这个方法,所以这不是问题。。问题是无法获取x轴、y轴值。。
canvas.tag_bind(...,self.B)