]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/samples/simple/simple.py
   1 #---------------------------------------------------------------------- 
   2 # A very simple wxPython example.  Just a wx.Frame, wx.Panel, 
   3 # wx.StaticText, wx.Button, and a wx.BoxSizer, but it shows the basic 
   4 # structure of any wxPython application. 
   5 #---------------------------------------------------------------------- 
  10 class MyFrame(wx
.Frame
): 
  12     This is MyFrame.  It just shows a few controls on a wxPanel, 
  13     and has a simple menu. 
  15     def __init__(self
, parent
, title
): 
  16         wx
.Frame
.__init
__(self
, parent
, -1, title
, 
  17                           pos
=(150, 150), size
=(350, 200)) 
  20         menuBar 
= wx
.MenuBar() 
  25         # add an item to the menu, using \tKeyName automatically 
  26         # creates an accelerator, the third param is some help text 
  27         # that will show up in the statusbar 
  28         menu
.Append(wx
.ID_EXIT
, "E&xit\tAlt-X", "Exit this simple sample") 
  30         # bind the menu event to an event handler 
  31         self
.Bind(wx
.EVT_MENU
, self
.OnTimeToClose
, id=wx
.ID_EXIT
) 
  33         # and put the menu on the menubar 
  34         menuBar
.Append(menu
, "&File") 
  35         self
.SetMenuBar(menuBar
) 
  37         self
.CreateStatusBar() 
  40         # Now create the Panel to put the other controls on. 
  41         panel 
= wx
.Panel(self
) 
  44         text 
= wx
.StaticText(panel
, -1, "Hello World!") 
  45         text
.SetFont(wx
.Font(14, wx
.SWISS
, wx
.NORMAL
, wx
.BOLD
)) 
  46         text
.SetSize(text
.GetBestSize()) 
  47         btn 
= wx
.Button(panel
, -1, "Close") 
  48         funbtn 
= wx
.Button(panel
, -1, "Just for fun...") 
  50         # bind the button events to handlers 
  51         self
.Bind(wx
.EVT_BUTTON
, self
.OnTimeToClose
, btn
) 
  52         self
.Bind(wx
.EVT_BUTTON
, self
.OnFunButton
, funbtn
) 
  54         # Use a sizer to layout the controls, stacked vertically and with 
  55         # a 10 pixel border around each 
  56         sizer 
= wx
.BoxSizer(wx
.VERTICAL
) 
  57         sizer
.Add(text
, 0, wx
.ALL
, 10) 
  58         sizer
.Add(btn
, 0, wx
.ALL
, 10) 
  59         sizer
.Add(funbtn
, 0, wx
.ALL
, 10) 
  64     def OnTimeToClose(self
, evt
): 
  65         """Event handler for the button click.""" 
  69     def OnFunButton(self
, evt
): 
  70         """Event handler for the button click.""" 
  71         print "Having fun yet?" 
  76         frame 
= MyFrame(None, "Simple wxPython App") 
  77         self
.SetTopWindow(frame
) 
  79         print "Print statements go to this stdout window by default." 
  84 app 
= MyApp(redirect
=True)