wxPython - Beispiel: wxBoxSizer

Code-Stücke können hier veröffentlicht werden.
Antworten
2bock
User
Beiträge: 94
Registriert: Freitag 12. September 2003, 07:58
Wohnort: 50.9333300 / 6.3666700

Hier ein kleines Beispiel für den Umgang mit dem BoxSizer unter wxPython/wxWindows wie auch immer . Viel Spaß damit.

Greetz from 2bock

Code: Alles auswählen

import wx

class MainApp(wx.Frame):
    def __init__(self, parent, ID, title,sRequestResult):
        wx.Frame.__init__(self, parent, ID, title, wx.DefaultPosition, wx.Size(100,100))#wxDefaultSize)

# ------- Erstellen der Menueleiste und deren Punkte sowie die Zuweisungen------------------
        self.menu_File = wx.Menu() #Objektzuweisung.
        self.menu_Config = wx.Menu()
        self.menu_About = wx.Menu()
        submenu = wx.Menu()  # Untermenu mit Pfeil

        # Menueoberpunkte erstellen
        menuBar = wx.MenuBar()                                           # Menueleiste erstellt
        self.menuBar = menuBar
        self.menuBar.Append(self.menu_File, '&Datei')                      # Benennung der Menueoberpunkte und Statusleistentext
        self.menuBar.Append(self.menu_Config, '&Konfiguration')
        self.menuBar.Append(self.menu_About, '&Info')
        self.SetMenuBar(menuBar)                                        #Setzte zusammengebastelte Menueleiste

# --- Menueeingaben Ende -----------------------------------------------------------------------------------------------------------------

        self.panel1 = wx.Panel(self, -1,wx.Point(wx.DEFAULT),wx.Size(50,50),style=wx.TAB_TRAVERSAL)
        self.panel1.SetBackgroundColour(wx.BLUE)
        self.panel2 = wx.Panel(self, -1,wx.Point(wx.DEFAULT),wx.Size(200,500),style=wx.TAB_TRAVERSAL)
        self.panel2.SetBackgroundColour(wx.GREEN)
        self.panel3 = wx.Panel(self, -1,wx.Point(wx.DEFAULT),wx.Size(50,50),style=wx.TAB_TRAVERSAL)
        self.panel3.SetBackgroundColour(wx.WHITE)
        self.panel4 = wx.Panel(self, -1,wx.Point(wx.DEFAULT),wx.Size(2,50),style=wx.TAB_TRAVERSAL)
        self.panel4.SetBackgroundColour(wx.RED)
        self.panel5 = wx.Panel(self, -1,wx.Point(wx.DEFAULT),wx.Size(50,50),style=wx.TAB_TRAVERSAL)
        self.panel5.SetBackgroundColour(wx.BLACK)
        self.panel6 = wx.Panel(self, -1,wx.Point(wx.DEFAULT),wx.Size(100,100),style=wx.TAB_TRAVERSAL)
        self.panel6.SetBackgroundColour(wx.CYAN)
        self.panel7 = wx.Panel(self, -1,wx.Point(wx.DEFAULT),wx.Size(50,50),style=wx.TAB_TRAVERSAL)
        self.panel7.SetBackgroundColour(wx.LIGHT_GREY)
        self.tc = ''

        self.mainSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.leftSizer = wx.BoxSizer(wx.VERTICAL)
        self.rightSizer = wx.BoxSizer(wx.VERTICAL)
        
        self.leftSizer.Add(self.panel1,1,wx.EXPAND)
        self.leftSizer.Add(self.panel2,3,wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)
        self.leftSizer.Add(self.panel3,1,wx.EXPAND)
        
        self.rightSizer.Add(self.panel5,1,wx.EXPAND)
        self.rightSizer.Add(self.panel6,3,wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)
        self.rightSizer.Add(self.panel7,1,wx.EXPAND)
        
        self.mainSizer.Add(self.leftSizer,1,wx.EXPAND)
        self.mainSizer.Add(self.panel4,0,wx.EXPAND)             # 0 bedeutet unveraenderbar
        self.mainSizer.Add(self.rightSizer,1,wx.EXPAND)
        self.SetSizer(self.mainSizer)
        self.SetAutoLayout(1)              
        self.mainSizer.Fit(self)

        
    def OnTest2(self,event):
        self.menuBar.EnableTop(1,0)
        self.ReguestSend()
        self.panel1.Show(0)
        self.CharactInitData()

class MyApp(wx.App):
    def OnInit(self):
        frame = MainApp(NULL ,-1, 'Applikation')

if __name__ == '__main__':
    import sys
    app = wx.PySimpleApp()
    frame = MainApp(None ,-1, 'Applikation','')
    #~ frame.Maximize(1)
    frame.Show(True)
    frame.CenterOnParent(wx.BOTH)
    app.MainLoop()


:wink: :roll:
Antworten