X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8994c3c20cae2b27f479fefe8d4190d9bffb8cad..05a03b016a6fb93bdb81a25eac9fc4834fe6f95e:/wxPython/samples/simple/simple.py?ds=inline diff --git a/wxPython/samples/simple/simple.py b/wxPython/samples/simple/simple.py new file mode 100644 index 0000000000..95df6d5073 --- /dev/null +++ b/wxPython/samples/simple/simple.py @@ -0,0 +1,77 @@ +#---------------------------------------------------------------------- +# A very simple wxPython example. Just a wxFrame, wxPanel, +# wxStaticText, wxButton, and a wxBoxSizer, but it shows the basic +# structure of any wxPython application. +#---------------------------------------------------------------------- + +import wx + + +class MyFrame(wx.Frame): + """ + This is MyFrame. It just shows a few controls on a wxPanel, + and has a simple menu. + """ + def __init__(self, parent, title): + wx.Frame.__init__(self, parent, -1, title, size=(350, 200)) + + # Create the menubar + menuBar = wx.MenuBar() + + # and a menu + menu = wx.Menu() + + # add an item to the menu, using \tKeyName automatically + # creates an accelerator, the third param is some help text + # that will show up in the statusbar + menu.Append(wx.ID_EXIT, "E&xit\tAlt-X", "Exit this simple sample") + + # bind the menu event to an event handler + self.Bind(wx.EVT_MENU, self.OnTimeToClose, id=wx.ID_EXIT) + + # and put the menu on the menubar + menuBar.Append(menu, "&File") + self.SetMenuBar(menuBar) + + self.CreateStatusBar() + + + # Now create the Panel to put the other controls on. + panel = wx.Panel(self) + + # and a few controls + text = wx.StaticText(panel, -1, "Hello World!") + text.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)) + text.SetSize(text.GetBestSize()) + btn = wx.Button(panel, -1, "Close") + funbtn = wx.Button(panel, -1, "Just for fun...") + + # bind the button events to handlers + self.Bind(wx.EVT_BUTTON, self.OnTimeToClose, btn) + self.Bind(wx.EVT_BUTTON, self.OnFunButton, funbtn) + + # Use a sizer to layout the controls, stacked vertically and with + # a 10 pixel border around each + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(text, 0, wx.ALL, 10) + sizer.Add(btn, 0, wx.ALL, 10) + sizer.Add(funbtn, 0, wx.ALL, 10) + panel.SetSizer(sizer) + panel.Layout() + + + def OnTimeToClose(self, evt): + """Event handler for the button click.""" + print "See ya later!" + self.Close() + + def OnFunButton(self, evt): + """Event handler for the button click.""" + print "Having fun yet?" + + +app = wx.PySimpleApp() +frame = MyFrame(None, "Simple wxPython App") +frame.Show(True) +app.MainLoop() +