This is MyFrame. It just shows a few controls on a wxPanel, and has a simple menu.
| 15 | |
| 16 | |
| 17 | class MyFrame(wx.Frame): |
| 18 | """ |
| 19 | This is MyFrame. It just shows a few controls on a wxPanel, |
| 20 | and has a simple menu. |
| 21 | """ |
| 22 | def __init__(self, parent, title): |
| 23 | wx.Frame.__init__(self, parent, -1, title, |
| 24 | pos=(150, 150), size=(350, 200)) |
| 25 | |
| 26 | # Create the menubar |
| 27 | menuBar = wx.MenuBar() |
| 28 | |
| 29 | # and a menu |
| 30 | menu = wx.Menu() |
| 31 | |
| 32 | # add an item to the menu, using \tKeyName automatically |
| 33 | # creates an accelerator, the third param is some help text |
| 34 | # that will show up in the statusbar |
| 35 | menu.Append(wx.ID_EXIT, "E&xit\tAlt-X", "Exit this simple sample") |
| 36 | |
| 37 | # bind the menu event to an event handler |
| 38 | self.Bind(wx.EVT_MENU, self.OnTimeToClose, id=wx.ID_EXIT) |
| 39 | |
| 40 | # and put the menu on the menubar |
| 41 | menuBar.Append(menu, "&File") |
| 42 | self.SetMenuBar(menuBar) |
| 43 | |
| 44 | self.CreateStatusBar() |
| 45 | |
| 46 | # Now create the Panel to put the other controls on. |
| 47 | panel = wx.Panel(self) |
| 48 | |
| 49 | # and a few controls |
| 50 | text = wx.StaticText(panel, -1, "Hello World!") |
| 51 | text.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)) |
| 52 | text.SetSize(text.GetBestSize()) |
| 53 | btn = wx.Button(panel, -1, "Close") |
| 54 | funbtn = wx.Button(panel, -1, "Just for fun...") |
| 55 | |
| 56 | # bind the button events to handlers |
| 57 | self.Bind(wx.EVT_BUTTON, self.OnTimeToClose, btn) |
| 58 | self.Bind(wx.EVT_BUTTON, self.OnFunButton, funbtn) |
| 59 | |
| 60 | # Use a sizer to layout the controls, stacked vertically and with |
| 61 | # a 10 pixel border around each |
| 62 | sizer = wx.BoxSizer(wx.VERTICAL) |
| 63 | sizer.Add(text, 0, wx.ALL, 10) |
| 64 | sizer.Add(btn, 0, wx.ALL, 10) |
| 65 | sizer.Add(funbtn, 0, wx.ALL, 10) |
| 66 | panel.SetSizer(sizer) |
| 67 | panel.Layout() |
| 68 | |
| 69 | |
| 70 | def OnTimeToClose(self, evt): |
| 71 | """Event handler for the button click.""" |
| 72 | print("See ya later!") |
| 73 | self.Close() |
| 74 |