画布未绑定到类tkinter-Python3中的鼠标按钮

我一直试图将画布绑定到鼠标单击上,如this answer中所述,但在一个类中。 callback函数虽然没有被调用。这里的所有related questions似乎在尝试绑定时都在调用callback()函数,而不是引用它。我正在引用它,但是它仍然无法正常工作。

from tkinter import *

class BindingTrial():
    def __init__(self,root,canvas):
        self.root = root
        self.canvas = canvas
        self.canvas.bind("Button-1",self.callback)

    def callback(self,event):
        print ("clicked at",event.x,event.y)

root = Tk()
canvas= Canvas(root,width=100,height=100)
bt = BindingTrial(root,canvas)
canvas.pack()
root.mainloop()

hwzzwc 回答:画布未绑定到类tkinter-Python3中的鼠标按钮

您需要使用"<Button-1>"调用按钮绑定,并且回调函数应接受self作为第一个参数。

class BindingTrial():
    def __init__(self,root,canvas):
        self.root = root
        self.canvas = canvas
        self.canvas.bind('<Button-1>',self.callback)

    def callback(self,event):
        print ("clicked at",event.x,event.y)  
本文链接:https://www.f2er.com/2985787.html

大家都在问