我有一個功能:
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 。
uj5u.com熱心網友回復:
我不確定滑鼠按鈕的符號是什么,但我找到了使用該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回傳一個介于 1-3 之間的數字(除非您將該功能系結到另一個鍵/按鈕)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/439077.html
