本文实例讲述了基于wxpython实现的windows GUI程序。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# using a wx.Frame, wx.MenuBar, wx.Menu, wx.Panel, wx.StaticText, wx.Button, # and a wx.BoxSizer to show a rudimentary wxPython Windows GUI application # wxPython package from: http://prdownloads.sourceforge.net/wxpython/ # I downloaded: wxPython2.5-win32-ansi-2.5.3.1-py23.exe # if you have not already done so install the Python compiler first # I used Python-2.3.4.exe (the Windows installer package for Python23) # from http://www.python.org/2.3.4/ # tested with Python23 vegaseat 24jan2005 import wx class Frame1(wx.Frame): # create a simple windows frame (sometimes called form) # pos=(ulcX,ulcY) size=(width,height) in pixels def __init__( self , parent, title): wx.Frame.__init__( self , parent, - 1 , title, pos = ( 150 , 150 ), size = ( 350 , 250 )) # create a menubar at the top of the user frame menuBar = wx.MenuBar() # create a menu ... menu = wx.Menu() # ... add an item to the menu # \tAlt-X creates an accelerator for Exit (Alt + x keys) # the third parameter is an optional hint that shows up in # the statusbar when the cursor moves across this menu item menu.Append(wx.ID_EXIT, "E&xit\tAlt-X" , "Exit the program" ) # bind the menu event to an event handler, share QuitBtn event self .Bind(wx.EVT_MENU, self .OnQuitButton, id = wx.ID_EXIT) # put the menu on the menubar menuBar.Append(menu, "&File" ) self .SetMenuBar(menuBar) # create a status bar at the bottom of the frame self .CreateStatusBar() # now create a panel (between menubar and statusbar) ... panel = wx.Panel( self ) # ... put some controls on the panel text = wx.StaticText(panel, - 1 , "Hello World!" ) text.SetFont(wx.Font( 24 , wx.SCRIPT, wx.NORMAL, wx.BOLD)) text.SetSize(text.GetBestSize()) quitBtn = wx.Button(panel, - 1 , "Quit" ) messBtn = wx.Button(panel, - 1 , "Message" ) # bind the button events to event handlers self .Bind(wx.EVT_BUTTON, self .OnQuitButton, quitBtn) self .Bind(wx.EVT_BUTTON, self .OnMessButton, messBtn) # use a sizer to layout the controls, stacked vertically # with a 10 pixel border around each sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(text, 0 , wx. ALL , 10 ) sizer.Add(quitBtn, 0 , wx. ALL , 10 ) sizer.Add(messBtn, 0 , wx. ALL , 10 ) panel.SetSizer(sizer) panel.Layout() def OnQuitButton( self , evt): # event handler for the Quit button click or Exit menu item print "See you later alligator! (goes to stdout window)" wx.Sleep( 1 ) # 1 second to look at message self .Close() def OnMessButton( self , evt): # event handler for the Message button click self .SetStatusText( '101 Different Ways to Spell "Spam"' ) class wxPyApp(wx.App): def OnInit( self ): # set the title too frame = Frame1( None , "wxPython GUI 2" ) self .SetTopWindow(frame) frame.Show( True ) return True # get it going ... app = wxPyApp(redirect = True ) app.MainLoop() |
希望本文所述对大家的Python程序设计有所帮助。