Seite 1 von 1

Bug? mit panel

Verfasst: Dienstag 15. September 2009, 18:55
von Dav1d
ich bin gerade dabei einen Vokabeltrainer zu schreiben! da ist mir was ziemlich komisches aufegfallen

Code: Alles auswählen

class Mainframe(wx.Frame):
    def __init__ (self, parent, id, title,):
        wx.Frame.__init__(self, parent, id, title, size=(600, 400), style=wx.DEFAULT_FRAME_STYLE ^ wx.MAXIMIZE_BOX)
        
      
        # Menus
        menubar = wx.MenuBar()
        menu1 = wx.Menu()
        menu1.AppendItem(wx.MenuItem(menu1, 11, 'Neue Vokabelsammlung'))
        menu1.AppendItem(wx.MenuItem(menu1, 12, 'Aktuelle Vokabelsammlung bearbeiten'))
        menu1.AppendSeparator()
        menu1.AppendItem(wx.MenuItem(menu1, 13, 'Abfrage starten'))
        menu1.AppendSeparator()
        menu1.AppendItem(wx.MenuItem(menu1, 14, 'Beenden'))
        menubar.Append(menu1, 'Datei')
        self.SetMenuBar(menubar)

        panel = wx.Panel(self, -1)
        
        vbox = wx.BoxSizer(wx.VERTICAL)
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        hbox2 = wx.BoxSizer(wx.HORIZONTAL)

        # Layoutmist mit BoxSizer

        panel.SetSizer(vbox)
        panel.SetAutoLayout(True)
wenn ich das panel = wx.Panel(self, -1) vor die Erstellung der Menubar setzte verzieht es dass komplette Layout, so als ob es keinen Sizer mehr geben würde

pics dazu:

Normal:
Bild
Verzogen:
Bild

Verfasst: Dienstag 15. September 2009, 20:46
von jbs
dein Beispiel funktioniert bei mir ohne Probleme

Verfasst: Mittwoch 16. September 2009, 12:43
von Dav1d
Jo das Beispiel änder es aber mal so ab:

Code: Alles auswählen

class Mainframe(wx.Frame):
    def __init__ (self, parent, id, title,):
        wx.Frame.__init__(self, parent, id, title, size=(600, 400), style=wx.DEFAULT_FRAME_STYLE ^ wx.MAXIMIZE_BOX)
       
        panel = wx.Panel(self, -1)

     
        # Menus
        menubar = wx.MenuBar()
        menu1 = wx.Menu()
        menu1.AppendItem(wx.MenuItem(menu1, 11, 'Neue Vokabelsammlung'))
        menu1.AppendItem(wx.MenuItem(menu1, 12, 'Aktuelle Vokabelsammlung bearbeiten'))
        menu1.AppendSeparator()
        menu1.AppendItem(wx.MenuItem(menu1, 13, 'Abfrage starten'))
        menu1.AppendSeparator()
        menu1.AppendItem(wx.MenuItem(menu1, 14, 'Beenden'))
        menubar.Append(menu1, 'Datei')
        self.SetMenuBar(menubar)

       
        vbox = wx.BoxSizer(wx.VERTICAL)
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        hbox2 = wx.BoxSizer(wx.HORIZONTAL)

        # Layoutmist mit BoxSizer

        panel.SetSizer(vbox)
        panel.SetAutoLayout(True)
PANEL vor die Menüs gesetzt

Verfasst: Mittwoch 16. September 2009, 13:40
von Rebecca
Bei mir kommt beide male das gleiche, korrekte, raus.

Code: Alles auswählen

Python 2.5.4 (r254:67916, Feb 18 2009, 03:00:47) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> wx.__version__
'2.8.7.1'

Verfasst: Mittwoch 16. September 2009, 14:56
von Dav1d
komisch

Code: Alles auswählen

>>> wx.version()
'2.8.10.1 (msw-unicode)'