Python tkinter密钥绑定赢得';行不通

Python tkinter密钥绑定赢得';行不通,python,tkinter,pygame,Python,Tkinter,Pygame,我正在尝试制作一个程序,它会对按键做出反应,并播放某些mp3文件。下面是一段代码: from pygame import mixer from Tkinter import * root = Tk() def playBDT(): mixer.init() mixer.music.load("Ba Dum Tss!.mp3") mixer.music.play() button2 = Button(root, command = playBDT) button

我正在尝试制作一个程序,它会对按键做出反应,并播放某些mp3文件。下面是一段代码:

from pygame import mixer 
from Tkinter import *

root = Tk() 
def playBDT():
    mixer.init()
    mixer.music.load("Ba Dum Tss!.mp3")
    mixer.music.play()  

button2 = Button(root, command = playBDT)
button2.bind("<KeyPress-X>", playBDT)
button2.grid(row=0,column=0)


root.mainloop()
从pygame导入混合器
从Tkinter进口*
root=Tk()
def playBDT():
mixer.init()
mixer.music.load(“Ba-Dum-Tss!.mp3”)
混音器。音乐。播放()
button2=按钮(根,命令=playBDT)
按钮2.绑定(“,playBDT)
按钮2.网格(行=0,列=0)
root.mainloop()

现在当我运行这个时,我得到一个带有按钮的帧。当我点击按钮时,声音正常播放。但是,当我按下X键时,什么也没有发生。我怎样才能修好它?另外,如果我在后台运行这个程序,当我按下相应的键时,声音会播放吗?

我也有同样的问题,但我不知道这是否适用于您

button2=按钮(根,命令=playBDT)
按钮2.聚焦力()
按钮2.绑定(“,playBDT)
按钮2.网格(行=0,列=0)

绑定到
根目录
。顺便说一句:
bind
send
event
函数,因此使用
playBDT(event=None)
将此函数与
bind
命令一起使用。操作系统不会向后台运行的程序发送关键事件。可能您需要自动热键(Windows)或自动键(Linux)来抓取按下的键。键绑定区分大小写,因此您可能实际需要
”。