同時顯示多個窗口的一種方法是創(chuàng)建它們作為獨立的窗口。這被稱為SDI(單文檔界面)。這需要更多的存儲器資源,每個窗口可以具有其自己的菜單系統(tǒng),工具欄等等
下面的例子演示MDIParentFrame的用途為頂層窗口。菜單按鈕被稱為NewWindow增加在客戶區(qū)的子窗口。多個窗口可以被添加,然后設(shè)置為層疊或平鋪順序。
import wx
class MDIFrame(wx.MDIParentFrame):
def __init__(self):
wx.MDIParentFrame.__init__(self, None, -1, "MDI Parent - www.yiibai.com", size = (600,400))
menu = wx.Menu()
menu.Append(5000, "&New Window")
menu.Append(5001, "&Exit")
menubar = wx.MenuBar()
menubar.Append(menu, "&File")
self.SetMenuBar(menubar)
self.Bind(wx.EVT_MENU, self.OnNewWindow, id = 5000)
self.Bind(wx.EVT_MENU, self.OnExit, id = 5001)
def OnExit(self, evt):
self.Close(True)
def OnNewWindow(self, evt):
win = wx.MDIChildFrame(self, -1, "Child Window")
win.Show(True)
app = wx.App()
frame = MDIFrame()
frame.Show()
app.MainLoop()

