网络编程
位置:首页>> 网络编程>> Python编程>> 基于wxpython实现的windows GUI程序实例

基于wxpython实现的windows GUI程序实例

作者:皮蛋  发布时间:2022-07-03 21:33:01 

标签:wxpython,windows,GUI

本文实例讲述了基于wxpython实现的windows GUI程序。分享给大家供大家参考。具体如下:


# 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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com