Nachdem Gerold sich ja schon die Mühe gemacht hat und mir diverse Sizer wirklich ausführlich erklärt hat, habe ich beschlossen, mit diesen Dingen noch rumzuspielen, bis ich sie verstanden habe.
Jetzt ist es so:
Ich habe mir einen Frame gemacht, der ein Panel enthält. Auf dem Panel liegt ein BoxSizer.
Und wie mir erklärt wurde, habe ich dann Widgets (in diesem Fall 2 Buttons) erstellt, die ich beim Instanziieren auf dem Panel erzeugt habe und später dann dem Sizer hinzugefügt habe. Soweit funktioniert das auch alles, aber:
Sollten die Knöpfe, wenn sie nicht absolut positioniert sind, vom Sizer so angelegt werden, dass sie passen? Mein beiden Buttons scheinen beide auf x0, y0 zu liegen.
Über einen kleinen Hinweis würde ich mich freuen, danke!
Code: Alles auswählen
#!/usr/bin/env python
import wx
class MyFrame(wx.Frame):
# Init the super Class
def __init__(self):
wx.Frame.__init__(self,
None, -1, "Hi",
wx.DefaultPosition,
wx.DefaultSize)
# place a panel in the frame
panel = wx.Panel(self, -1)
mainBox = wx.BoxSizer(wx.VERTICAL)
mainBox.Add(panel, 1)
# create 2 buttons and place it
# to the panel and the sizer.
button = wx.Button(panel, -1, "close")
button2 = wx.Button(panel, -1, "Another Button")
mainBox.Add(button, 0)
mainBox.Add(button2, 0)
# bind the button - event to a method
button.Bind(wx.EVT_BUTTON, self.OnCloseButton)
button2.Bind(wx.EVT_BUTTON, self.Message)
def OnCloseButton(self, event):
self.Close(True)
# oder doch self.Destroy() ??
def Message(self, event):
wx.MessageBox("My message: 'HI!'", "Hello", wx.OK)
if __name__ == "__main__":
app = wx.App(False)
frame = MyFrame()
frame.Show()
app.MainLoop()