<Button-1>(鼠标左键)有什么按键符号?

What keysym does the <Button-1> (left mouse button )have?

我有一个功能:

def sound(self,event):
        playsound('monkey_sound.wav', block=False)

它只响应按下一个键——鼠标左键。我必须这样做,声音会根据按下的键(鼠标左键或鼠标右键)而有所不同。但是应该只有一个功能。

这是我的代码片段:

class monkey:
    def __init__(self, canvas):
        self.canvas=canvas
        self.photo = PhotoImage(file='C:\monkey_exe\monkey.png')
        self.id=canvas.create_image(30,30,anchor=NW,image=self.photo)
        self.canvas.bind_all('<Motion>', self.motion)
        self.canvas.bind_all('<Button-1>', self.sound)
        self.canvas.bind_all('<Button-2>', self.sound)
    def motion(self,event):
        canvas.coords(self.id, event.x-50, event.y-108)
    def sound(self,event):
        playsound('monkey_sound.wav', block=False)

所以这两个键必须绑定相同的功能,但必须发出不同的声音。但是我不知道keysym的鼠标左键和鼠标右键

我不确定鼠标按钮的符号是什么,但我发现使用 event.num 属性...

def sound(self, event):
    if event.num == 1: #left mouse button
        playsound("monkey_sound1.wav", block=false)

    elif event.num == 2: #middle mouse button
        playsound("monkey_sound2.wav", block=false)

    elif event.num == 3: #right mouse button
        playsound("monkey_sound3.wav", block=false)

event.num 将 return 一个介于 1-3 之间的数字(除非您将该函数绑定到另一个 key/button)。