0

wxflatnotebook などを使用して MDIChildFrame 間でタブ移動できるようにしたいと考えています。コードと、探しているものの例の画像も含めました。複製しようとしているタブは (GPBUSD) & (EURUSD) です。これまでのところ、私は運が悪いので、どんな情報でも大歓迎です.

import wx
import wx.lib.agw.aui as aui

class MDIFrame(wx.MDIParentFrame):
    def __init__(self):
        wx.MDIParentFrame.__init__(self, None, -1, "MDI Parent", size =(1350, 720))
        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)
        self.mgr = aui.AuiManager(self, aui.AUI_MGR_DEFAULT
                                       |aui.AUI_MGR_TRANSPARENT_DRAG
                                       |aui.AUI_MGR_ALLOW_ACTIVE_PANE                                     
                                       |aui.AUI_MGR_TRANSPARENT_HINT)                      
        self.inputPanel = wx.Panel(self, -1)
        self.BuildPain()

    def BuildPain(self):                             
        self.mgr.AddPane(self.GetClientWindow(),
                         aui.AuiPaneInfo().Name("book").Caption("Notebook").
                         CenterPane().CaptionVisible(True).Dockable(True).Floatable(False).
                         BestSize((300,300)).CloseButton(False).MaximizeButton(True)
                         )    
        self.mgr.AddPane(self.inputPanel,
                        aui.AuiPaneInfo().Name("input").Caption("Input panel").
                         CaptionVisible(True).Left().Dockable(True).Floatable(True).
                         BestSize((300,300)).CloseButton(False).MaximizeButton(True)
                         )
        self.mgr.Update()

    def OnExit(self, evt):
        self.Close(True)

    def OnNewWindow(self, evt):
        win = wx.MDIChildFrame(self, -1, "Child Window")
        win.Show(True)

if __name__ == "__main__":
    app = wx.App(0)
    frame = MDIFrame()
    frame.CenterOnScreen()
    frame.Show()
    app.MainLoop()

サンプル画像 http://imageshack.us/a/img534/280/mdip.png

4

1 に答える 1