wxython简单入门加实例3:创建菜单栏

来源:互联网 发布:业务流程优化的目的 编辑:程序博客网 时间:2024/06/05 04:56

创建一个菜单栏在wxPython中相当简单。我们将讨论给菜单栏添加菜单、为已经存在的菜单添加子菜单。所有菜单都有菜单项组成。菜单项可以是常规项、复选项以及单选项。

 

先来创建一个菜单栏:
menubar = wx.MenuBar()

接着创建我们的菜单:
file = wx.Menu()
edit = wx.Menu()
help = wx.Menu()

然后为菜单添加菜单项。做这件事有两种方式:
file.Append( 101, '&Open', 'Open a new document' )
file.Append( 102, '&Save', 'Save the document' )

我们可以使用横线来分隔逻辑区域:
file.AppendSeparator()

如果你想在菜单中使用 Icon,你需要手工创建 MenuItem 对象:
quit=wx.MenuItem(file,105,'&Quit\tCtrl+Q','Quit the Application')
quit.SetBitmap(wx.Image('stock_exit-16.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap())
file.AppendItem(quit)

wxPython工具包只能把bitmap图片用于菜单,所以我们需要把我们的PNG图片转换为bitmap格式。

然后把菜单加入到菜单栏:
menubar.Append( file, '&File' )
menubar.Append( edit, '&Edit' )
menubar.Append( help, '&Help' )

最后在我们的程序类中创建菜单栏:
self.SetMenuBar( menubar )

我们把上述这些组成个小脚本:

#!/usr/bin/env python# FileName: menu1.pyimport wxclass MyMenu( wx.Frame ):    def __init__(self,parent,ID,title):        wx.Frame.__init__(self,parent,-1,title,wx.DefaultPosition,wx.Size(200, 150))        menubar=wx.MenuBar()        file=wx.Menu()        edit=wx.Menu()        help=wx.Menu()        file.Append(101,'&Open','Open a new document')        file.Append(102,'&Save','Save the document')        file.AppendSeparator()##添加分隔线        quit=wx.MenuItem(file,105,'&Quit\tCtrl+Q','Quit the Application')##Ctrl+Q快捷键        quit.SetBitmap(wx.Image('crm_logo.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap())##设置图标        file.AppendItem(quit)        menubar.Append(file,'&File')        menubar.Append(edit,'&Edit')        menubar.Append(help,'&Help')        self.SetMenuBar( menubar )class MyApp(wx.App):    def OnInit(self):        frame=MyMenu(None,-1,'menu1.py')        frame.Show(True)        return Trueapp=MyApp(0)app.MainLoop()

本文章转自 Just Code 的博客s
0 0
原创粉丝点击