Python gtk モジュールに (私にとっては!) 大きな問題があります。
マルチウィンドウを開くことができます。しかし、私は単独で閉じることはできません(1回、1つのウィンドウ)。ウィンドウを閉じると、すべてのウィンドウが自動的に閉じます。最初のウィンドウだけを閉じたい。最初のウィンドウを閉じた後、新しいウィンドウが表示されます(私の選択による)。
例えば :
#!/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」クラスが機能し、そのウィンドウが開きます
プログラムの実行中に画面にウィンドウを 1 つだけ表示したい。ボタンをクリックした場合; そのウィンドウが閉じて、新しいウィンドウが開きます (私の選択により、自動的に!)
これどうやってするの?そして、そのコードを書くことができます:)どうもありがとう!