Bug? mit panel

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

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
the more they change the more they stay the same
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

dein Beispiel funktioniert bei mir ohne Probleme
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

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
the more they change the more they stay the same
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

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'
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

komisch

Code: Alles auswählen

>>> wx.version()
'2.8.10.1 (msw-unicode)'
the more they change the more they stay the same
Antworten