【发布时间】:2014-07-17 14:25:17
【问题描述】:
我正在尝试制作一个简单的应用程序来使用 pygtk 播放和停止 MIDI 文件。
这是我目前所拥有的:
import pygtk
pygtk.require('2.0')
import gtk
import subprocess
class Teacher:
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_size_request(400, 200)
window.set_title("Music Teacher")
window.connect("delete_event",
lambda w,e: gtk.main_quit())
table = gtk.Table(4, 4, True)
window.add(table)
play = gtk.Button("Play")
play.connect("clicked", self.clicked_play)
play.show()
stop = gtk.Button("Stop")
stop.show()
table.attach(play, 0, 1, 0, 1)
table.attach(stop, 0, 1, 1, 2)
window.show_all()
def clicked_play(self, widget):
subprocess.Popen(["timidity", "~/somefile.mid"])
def main(self):
gtk.main()
return 0
Teacher().main()
我可以从 stop 和 delete_event 发送中断来终止进程吗?我应该使用线程吗?
【问题讨论】:
-
问题标题谈到“Ctrl + C”,但正文说您希望停止按钮取消播放。是哪个?
标签: python subprocess pygtk