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()