基於wxpython實現的windows GUI程式執行個體

來源:互聯網
上載者:User
本文執行個體講述了基於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   24jan2005import wxclass 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程式設計有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.