按下时从Python 2 Tkinter按钮运行功能,然后在释放时运行另一个

时间:2014-09-11 11:00:53

标签: python tkinter pyaudio

您好我正在尝试使用Tkinter作为GUI在Python 2.7中创建一个简单的录制器,我希望能够在按下按钮时进行录制,然后在释放按钮时保存录制,我知道如何制作按钮并且已经这样做了,但是我不知道如何让它在按下时运行程序而另一个在发布时运行,是否可能?

此外,我不确定如何从麦克风实际录制并使用pyaudio进行保存,对此有任何帮助,但我确信在克服主要问题后我可以自己解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以将事件绑定到鼠标左键<Button-1>的单击以及鼠标左键<ButtonRelease-1>的释放。这是一个例子:

import Tkinter as tk

root = tk.Tk()

def clicked(event):
    var.set('Clicked the button')

def released(event):
    var.set('Released the button')

var = tk.StringVar()
var.set('Nothing to see here')
label = tk.Label(root, textvar=var)
label.pack()

but = tk.Button(root, text='Button')
but.bind("<Button-1>", clicked)
but.bind("<ButtonRelease-1>", released)
but.pack()

root.mainloop()