wxPython是python視覺化程式設計中的一個很好的模組,一以下的程式碼主要講述工具欄、狀態列、選單、選單事件的實現(可參考:http://www.czug.org/python/wxpythoninaction/):
#!/usr/bin/env python # -*- coding: utf-8 -*- import wx import wx.py.p_w_picpaths class ToolbarFrame(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, `Toolbars`, size = (600, 400)) panel = wx.Panel(self) panel.SetBackgroundColour(`White`) #建立狀態列 statusBar = self.CreateStatusBar() #建立工具欄 toolbar = self.CreateToolBar() #增加一個工具 toolbar.AddSimpleTool(wx.NewId(), wx.py.p_w_picpaths.getPyBitmap(), "New", "Long help for `New`") toolbar.AddSimpleTool(wx.NewId(), wx.py.p_w_picpaths.getPyBitmap(), "Edit", "Long help for `Edit`") #準備顯示 toolbar.Realize() #建立選單 menuBar = wx.MenuBar() menu1 = wx.Menu() menuBar.Append(menu1, u"&檔案") #選單專案1 self.close = menu1.Append(wx.NewId(), u"退出(&X)", "") menu2 = wx.Menu() #選單內容&表示隨後的字元為熱鍵,引數3為在狀態列上顯示的選單項說明 self.Copy = menu2.Append(wx.NewId(), "&Copy", "Copy in status bar") self.Cut = menu2.Append(wx.NewId(), "C&ut", "") self.Paste = menu2.Append(wx.NewId(), "Paste", "") menu2.AppendSeparator() self.Options = menu2.Append(wx.NewId(), "&Options...", "Display Options") self.Edit = menuBar.Append(menu2, "&Edit") self.SetMenuBar(menuBar) #呼叫選單下拉的退出事件 self.Bind(wx.EVT_MENU,self.OnClose,self.close) def OnClose(self,event):#退出事件 self.Close() if __name__ == `__main__`: app = wx.PySimpleApp() frame = ToolbarFrame(parent = None, id = -1) frame.Show() app.MainLoop()