wxpython菜单栏的基础创建

准备工作:把基础框架创建好(有不清楚的可以看上一篇文章"wxpython框架的基础创建")

import wx
class _frame(wx.Frame):
    def __init__(self, superior):
        wx.Frame.__init__(self, parent=superior, title="囧粥", pos=(10, 100), size=(500, 600))
if __name__ == '__main__':
    app = wx.App()
    frm = _frame(None)
    frm.Show()
    app.MainLoop()

第一步:创建一个面板,用于放置菜单栏

panel1 = wx.Panel(self)    #创建一个面板

第二步:创建菜单栏和"文件菜单",并把'文件菜单"加入菜单栏.然后将菜单栏显示在panel1面板上.

menubar = wx.MenuBar()    #创建菜单栏
filemenu = wx.Menu()    #创建菜单
menubar.Append(filemenu, "文件")    #将filemenu菜单以"文件"的名字加入菜单栏
self.SetMenuBar(menubar)    #将菜单栏显示在面板上

代码:

import wx
class _frame(wx.Frame):
    def __init__(self, superior):
        wx.Frame.__init__(self, parent=superior, title="囧粥", pos=(10, 100), size=(500, 600))
        panel1 = wx.Panel(self)  # 创建一个面板
        self._menubar()

    def _menubar(self):
        menubar = wx.MenuBar()  # 创建菜单栏
        filemenu = wx.Menu()  # 创建菜单
        menubar.Append(filemenu, "文件")  # 将filemenu菜单以"文件"的名字加入菜单栏
        self.SetMenuBar(menubar)   # 将菜单栏显示在面板上
if __name__ == '__main__':
    app = wx.App()
    frm = _frame(None)
    frm.Show()
    app.MainLoop()

结果:

 现在的菜单栏还没有功能,我们来给"文件菜单"里加入一个有退出功能的子菜单

第四步:在"文件菜单"里创建一个有退出功能的子菜单

    exit_ = filemenu.Append(1, "退出")    #添加一个名为"退出"的子菜单
    self.Bind(wx.EVT_MENU, self._exit, exit_)    #将exit_关联到_exit的函数里
#创建一个可以实现退出功能的函数
def _exit(self, event):
    self.Close(True)

最后来总结怎么添加菜单,然后把菜单栏完善一下

#首先是一个创建菜单
menu = wx.Menu()
#第二是将这个菜单命名并加入菜单栏
菜单栏名.Append(menu, "菜单名")
#第三是个为这个菜单添加子菜单,如果没有则不用
_menu = 菜单名.Append(1, "子菜单名")
#最后让这个菜单拥有自己对应的功能
self.Bind(wx.EVT_MENU, self.函数名, _menu)

#创建实现功能的函数(以"退出功能"为例)
def 函数名(self, event):
    self.CLose(True)

好,现在就来完善菜单栏

import wx
class _frame(wx.Frame):
    def __init__(self, superior):
        wx.Frame.__init__(self, parent=superior, title="囧粥", pos=(10, 100), size=(500, 600))
        panel1 = wx.Panel(self)  # 创建一个面板
        self._menubar()

    def _menubar(self):
        menubar = wx.MenuBar()  # 创建菜单栏

        # "文件菜单"
        filemenu = wx.Menu()  # 创建菜单
        menubar.Append(filemenu, "文件")  # 将filemenu菜单以"文件"的名字加入菜单栏
        #添加子菜单
        filemenu.Append(1, "新建")    # 因为暂时还没有功能,所以先不用赋值
        filemenu.Append(2, "打开")
        filemenu.Append(3, "保存")
        filemenu.Append(4, "另存为")
        exit_ = filemenu.Append(5, "退出")  # 添加一个名为"退出"的子菜单

        # "编辑菜单"
        editmenu = wx.Menu() #创建菜单
        menubar.Append(editmenu, "编辑")   # 将deitmenu菜单以"编辑"的名字加入菜单栏
        # 添加子菜单
        editmenu.Append(6, "撤销")
        editmenu.Append(7, "剪切")
        editmenu.Append(8, "复制")
        editmenu.Append(9, "粘贴")
        editmenu.Append(10, "删除")
        editmenu.Append(11, "查找")

        # "窗口菜单"
        windowsmenu = wx.Menu() #创建菜单
        menubar.Append(windowsmenu, "窗口")   # 将windowsmenu菜单以"窗口"的名字加入菜单栏
        # "添加子菜单"
        windowsmenu.Append(12, "活动窗口")
        windowsmenu.Append(13, "通知")
        windowsmenu.Append(14, "状态栏")

        # "帮助菜单"
        helpmenu = wx.Menu() #创建菜单
        menubar.Append(helpmenu, "帮助")  # 将helpmenu菜单以"帮助"的名字加入菜单栏
        # "添加子菜单"
        helpmenu.Append(15, "查看帮助")
        helpmenu.Append(16, "关于我们")

        self.Bind(wx.EVT_MENU, self._exit, exit_)  # 将exit_关联到_exit的函数里
        self.SetMenuBar(menubar)  # 将菜单栏显示在面板上

        # 创建一个可以实现退出功能的函数
    def _exit(self, event):
        self.Close(True)
if __name__ == '__main__':
    app = wx.App()
    frm = _frame(None)
    frm.Show()
    app.MainLoop()

结果:

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

囧粥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值