wxpython库中的Menubar 和ToolBar

来源:互联网 发布:mac终端链接服务器 编辑:程序博客网 时间:2024/06/07 05:36

python有很多创建界面的库,我现在只在学wxpython,先看看菜单和工具栏怎么设置吧,一点一点学。

import wxclass ToolBarFrame(wx.Frame):       def __init__(self,parent,id):              wx.Frame.__init__(self,parent,id,'ToolBar',size=(300,200))              panel=wx.Panel(self)              panel.SetBackgroundColour('white')              statusBar=self.CreateStatusBar()              toolBar=self.CreateToolBar()              toolBar.AddSimpleTool(wx.NewId(),wx.Bitmap('Toolbar.bmp'),"New","long help for 'New'")              toolBar.Realize()              menuBar=wx.MenuBar()              menu1=wx.Menu()              menuBar.Append(menu1,"&File")              menu2=wx.Menu()              menu2.Append(wx.NewId(),"&Copy","Copy in status bar")              menu2.Append(wx.NewId(),"&Cut","")              menu2.Append(wx.NewId(),"Paste","")              menu2.AppendSeparator()              menu2.Append(wx.NewId(),"&Options...","Display Option")              menuBar.Append(menu2,"&Edit")              self.SetMenuBar(menuBar)             if __name__=='__main__':       app=wx.PySimpleApp()       frame=ToolBarFrame(parent=None,id=-1)       frame.Show()       app.MainLoop()

  首先是StatusBar的创建:statusBar=self.CreateStatusBar() 这里用到了Frame里的一个方法,CreateStatusBar(),它就默认在当前的frame下面创建一个默认的和frame边缘相符的状态栏,这是非常简单的,一句话搞定。当然wx为我们提供了一个专门的ToolBar类,和其对应的很多方法,比如Create(),这里就先不介绍了。StatusBar就是显示一些别的应用提供的文本,这里文本的大小等属性由系统默认。

    下面是ToolBar的创建。

toolBar=self.CreateToolBar()

       toolBar.AddSimpleTool(wx.NewId(),wx.Bitmap('Toolbar.bmp'),"New","long help for 'New'")

       toolBar.Realize()

    第一句还是调用了Frame里的一个方法CreateToolBar,返回一个ToolBar对象,也是非常的简单一种方法,下面是往这个ToolBar上加载我们要的图标,AddSimpleTool的用法可以通过help来帮助:AddSimpleTool(self, id, bitmap, shortHelpString='', longHelpString='', isToggle=0) unbound wx._controls.ToolBar method

    Old style method to add a tool to the toolbar.

    其中的一个参数longHelpString就是要显示到状态栏的帮助信息。最后Realize()就是要让这个工具栏显示在窗口上。

    最后剩下的就是创建菜单了。

    MenuBar()是创建菜单栏,也就是菜单要放置的地方。Menu()是创建菜单,Append()是把菜单加到菜单栏的方法,或者是把子菜单加到菜单上。self.SetMenuBar(menuBar)是调用了Frame的一个方法,来放置菜单栏,它会自动放置到合适的位置。



0 0
原创粉丝点击