在我的pygtk应用程序中,我想打开下一个窗口后关闭当前窗口。
这是我写的代码
#!/usr/bin/env python
# example base.py
import pygtk
pygtk.require('2.0')
import gtk
import subprocess
class Base:
def next(self,widget):
subprocess.call('fabfile.py', shell=True)
self.window.destroy()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_size_request(200,200)
self.button = gtk.Button("Next")
self.button.show()
self.button.connect("clicked", self.next)
self.window.add(self.button)
self.window.show()
def main(self):
gtk.main()
print __name__
if __name__ == "__main__":
base = Base()
base.main()
当我点击下一个按钮时,它会打开下一个窗口,但它不会在后台关闭我当前的窗口,当前窗口打开下一个窗口后会在后台挂起。
def next(self,widget):
subprocess.call("fabfile.py", shell=True)
self.win.destroy()
当我在
中运行此代码时 window machine
它没有关闭现有窗口和
Linux machine
它给出了这个错误。
/bin/sh: fabfile.py: command not found
任何人都让我知道如何解决这个问题。感谢...
答案 0 :(得分:0)
试试这个,我希望它能奏效,但我不确定,
import subprocess
subprocess.Popen(["fabfile.py"], bufsize=2048, shell=True,stdin=subprocess.PIPE, stdout=subprocess.PIPE)
self.win.destroy()
subprocess.Popen
将打开您的第二个窗口并在当前窗口后关闭。