XmlResourceHandler
wxFormBuilderのメニューにはwxCollapsiblePaneが無いので、
xrc.XmlResourceHandlerを自分で書く必要があります。
from __future__ import with_statement, division, print_function import wx import wx.xrc as xrc Res = xrc.EmptyXmlResource() class CustomPanelXmlHandler(xrc.XmlResourceHandler): def CanHandle(self, node): return self.IsOfClass(node, "PlayerPane") def DoCreateResource(self): collpane = wx.CollapsiblePane(self.GetParentAsWindow()) win = collpane.GetPane() panel = Res.LoadPanel(win, "Player") sz = wx.BoxSizer() sz.Add(panel, 1, wx.EXPAND) win.SetSizer(sz) sz.SetSizeHints(win) win.SetInitialSize() return collpane def main(): app = wx.PySimpleApp() Res.Load('noname.xrc') Res.InsertHandler(CustomPanelXmlHandler()) f = Res.LoadFrame(None, "Spam") f.Show() app.MainLoop() if __name__ == "__main__": main()
以下はxrcファイル
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1"> <object class="wxFrame" name="Spam"> <style>wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL</style> <size>500,300</size> <title></title> <object class="wxPanel" name="m_panel1"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <option>0</option> <flag>wxALL</flag> <border>5</border> <object class="PlayerPane" name="PlayerPane" /> </object> </object> </object> </object> <object class="wxPanel" name="Player"> <style>wxTAB_TRAVERSAL</style> <size>500,300</size> <object class="wxBoxSizer"> <orient>wxHORIZONTAL</orient> <object class="sizeritem"> <option>0</option> <flag>wxALL</flag> <border>5</border> <object class="wxStaticText" name="m_staticText7"> <label>MyLabel</label> </object> </object> <object class="sizeritem"> <option>0</option> <flag>wxALL</flag> <border>5</border> <object class="wxCheckBox" name="m_checkBox10"> <label>Check Me!</label> <checked>0</checked> </object> </object> <object class="sizeritem"> <option>0</option> <flag>wxALL</flag> <border>5</border> <object class="wxButton" name="m_button3"> <label>MyButton</label> <default>0</default> </object> </object> </object> </object> </resource>