0
我想要做的实际上是我想要访问所有我创建的框架。在这里我创建了3个框架 - “MainFrame”,“FirstFrame”,“SecondFrame”。因此,我想打开,关闭或者最小化任何我想要的帧。是否可以关闭“MainFrame”而不关闭其他帧?我已经创建了一个程序。但是,在打开其他帧而不关闭它们之后,我无法访问MainFrame。如何在打开另一个框架后访问wxPython中的MainFrame?
这里是我的代码 -
import wx
class MainFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,"Main WIndow",size=(600,400))
panel=wx.Panel(self)
self.button1=wx.Button(panel,label='First Window',pos=(80,30),size=(130,50))
self.button2=wx.Button(panel,label='Second Window',pos=(80,100),size=(130,50))
self.Bind(wx.EVT_BUTTON,self.evt1,self.button1)
self.Bind(wx.EVT_BUTTON,self.evt2,self.button2)
def evt1(self,parent):
frame=FirstFrame(self,-1)
frame.Show(True)
frame.MakeModal(True)
def evt2(self,parent):
frame=SecondFrame(self,-1)
frame.Show(True)
frame.MakeModal(True)
class FirstFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,"First Window",size=(600,400))
self.Bind(wx.EVT_CLOSE, self.on_close)
def on_close(self, evt):
self.MakeModal(False)
evt.Skip()
class SecondFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,"Second Window",size=(600,400))
self.Bind(wx.EVT_CLOSE, self.on_close1)
def on_close1(self, evt):
self.MakeModal(False)
evt.Skip()
if __name__=='__main__':
app=wx.PySimpleApp()
frame=MainFrame(None,-1)
frame.Show()
app.MainLoop()