X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fc33e5e1f0e48d045aa48cb6b5b0c52bce0935b7..1d88e73a3f25f16ad845b114153edd603d4970be:/wxPython/docs/wxPackage.html?ds=sidebyside diff --git a/wxPython/docs/wxPackage.html b/wxPython/docs/wxPackage.html index fb8cbb71e8..82d666958c 100644 --- a/wxPython/docs/wxPackage.html +++ b/wxPython/docs/wxPackage.html @@ -3,12 +3,12 @@
- +This change is being made for a couple of reasons. The first reason -is to discourage the use of import *, which is a dangerous +is to discourage the use of import *, which is a dangerous technique that can create name conflicts and bloated namespaces.
The second reason is to remove what some perceive to be a "wart." For example, the following code is rather ugly in that the "wx" prefix on @@ -163,15 +163,100 @@ replace.
Example programs are included in the wxPython/samples/wx_examples -directory, and are documented in the wxPythonExamples documentation -file. Also, all the code in the py package uses the new wx syntax. -You can learn more about these in the PyManual.
-The wxPython demo application and most of the sample apps have been +converted to use the new import wx style of programming with +wxPython, so there are lots of examples to look at and to play with. +Here is one of them, it is the simple sample.
++#---------------------------------------------------------------------- +# A very simple wxPython example. Just a wx.Frame, wx.Panel, +# wx.StaticText, wx.Button, and a wx.BoxSizer, 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, + pos=(150, 150), 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?" + + +class MyApp(wx.App): + def OnInit(self): + frame = MyFrame(None, "Simple wxPython App") + self.SetTopWindow(frame) + + print "Print statements go to this stdout window by default." + + frame.Show(True) + return True + +app = MyApp(redirect=True) +app.MainLoop() + + +