我对 python gtk 模块有一个大问题(对我来说!)。
我可以打开多个窗口;但我不能单独关闭(一次,一个窗口)。如果我关闭一个窗口,所有窗口都会自动关闭。我只想关闭第一个窗口。关闭第一个窗口后,出现一个新窗口(由我选择)。
例如 :
#!/usr/bin/env python
import pygtk
pygtk.require20()
import gtk
class CLS1(object):
def __init__(self):
self.mywindow = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.mywindow.connect("delete_event", gtk.main_quit)
self.btn = gtk.Button("Cls1|Btn")
self.mywindow.add(self.btn)
self.mywindow.show_all()
def main(self):
gtk.main()
class CLS2(object):
def __init__(self):
self.mywindow = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.mywindow.connect("delete_event", gtk.main_quit)
self.btn = gtk.Button("Cls2|Btn")
self.mywindow.add(self.btn)
self.mywindow.show_all()
def main(self):
gtk.main()
class APP(object):
def __init__(self):
self.mywindow = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.mywindow.connect("delete_event", gtk.main_quit)
self.hori = gtk.HBox()
self.btn1 = gtk.Button("AppBtn1")
self.btn2 = gtk.Button("AppBtn2")
self.btn1.connect("clicked", self.show_me , "AppBtn1")
self.btn2.connect("clicked", self.show_me , "AppBtn2")
self.hori.pack_start(self.btn1)
self.hori.pack_start(self.btn2)
self.mywindow.add(self.hori)
self.mywindow.show_all()
def show_me(self, penar, data):
if data=="AppBtn1" :
CLS1().main()
if data=="AppBtn2":
CLS2().main()
gtk.main_quit()
def main(self):
gtk.main()
APP().main()
我要这个 :
1-我将运行程序
2-“APP”类将工作并会出现“APP”窗口
3-如果我单击一个按钮(AppBt1 或 AppBtn2);“APP”窗口将关闭(自动;不是我!)
4-如果我点击了“APP”窗口上的“AppBtn1”按钮(@step 3);“CLS1”类将工作,其窗口将打开
,或者如果我点击了“APP”窗口上的“AppBtn2”按钮(@step 3);“CLS2”类将起作用,其窗口将打开
程序运行时我只想在屏幕上显示一个窗口;如果我点击一个按钮;它的窗口将关闭并打开一个新窗口(由我选择,并且自动!)
我怎样才能做到这一点?你能写它的代码吗:) 非常感谢!