wx.aui AUI_MDI und AUI_DockingWindowMgr integrieren?
Verfasst: Mittwoch 28. Februar 2007, 17:18
gibt es zu AUI irgendeine Doku, zu AUI_MDI finde ich nirgends was, nur
das Beispiel von wxPython verwendet es.
Ich möchte gerne links und unten in einem Frame Panels mit dem Dockingmanager plazieren und in der mitte MDI Panes mit verschiedenen Inhalten darstellen.
Leider funktioniert der Docking Manager in dem AUI_MDI frame nicht
Hat sowas schonmal jemand versucht?
Hier mein Testcode:
das Beispiel von wxPython verwendet es.
Ich möchte gerne links und unten in einem Frame Panels mit dem Dockingmanager plazieren und in der mitte MDI Panes mit verschiedenen Inhalten darstellen.
Leider funktioniert der Docking Manager in dem AUI_MDI frame nicht
Hat sowas schonmal jemand versucht?
Hier mein Testcode:
Code: Alles auswählen
import wx
import wx.aui
class MyFrame(wx.Frame):
def __init__(self, parent, id=-1, title='wx.aui Test',
size=(800, 600), style=wx.DEFAULT_FRAME_STYLE):
wx.Frame.__init__(self, parent, id, title, (0,0), size, style)
self._mgr = wx.aui.AuiManager(self)
# create several text controls
text1 = wx.TextCtrl(self, -1, 'Pane 1 - sample text',
wx.DefaultPosition, wx.Size(200,150),
wx.NO_BORDER | wx.TE_MULTILINE)
text2 = wx.TextCtrl(self, -1, 'Pane 2 - sample text',
wx.DefaultPosition, wx.Size(200,150),
wx.NO_BORDER | wx.TE_MULTILINE)
text3 = wx.TextCtrl(self, -1, 'Main content window',
wx.DefaultPosition, wx.Size(200,150),
wx.NO_BORDER | wx.TE_MULTILINE)
text4 = wx.TextCtrl(self, -1, 'Main content window',
wx.DefaultPosition, wx.Size(200,150),
wx.NO_BORDER | wx.TE_MULTILINE)
# add the panes to the manager
self._mgr.AddPane(text1, wx.LEFT, 'Pane Number One')
self._mgr.AddPane(text2, wx.BOTTOM, 'Pane Number Two')
self._mgr.AddPane(text4, wx.CENTER)
self._mgr.AddPane(text3, wx.TOP)
# tell the manager to 'commit' all the changes just made
self._mgr.Update()
self.Bind(wx.EVT_CLOSE, self.OnClose)
def OnClose(self, event):
# deinitialize the frame manager
self._mgr.UnInit()
# delete the frame
self.Destroy()
app = wx.App(0)
frame = MyFrame(None)
frame.Show()
app.MainLoop()