美文网首页
菜单和工具栏

菜单和工具栏

作者: wangyu2488 | 来源:发表于2019-12-23 09:12 被阅读0次

2019年12月19日

一.菜单

image.png image.png image.png
# coding=utf-8
import wx
import wx.grid

# 自定义窗口类MyFrame
class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(parent=None, title='使用菜单', size=(550, 500))
        self.Centre()  # 设置窗口居中
        self.text = wx.TextCtrl(self, -1, style=wx.EXPAND | wx.TE_MULTILINE)
        vbox = wx.BoxSizer(wx.VERTICAL)
        vbox.Add(self.text, proportion=1, flag=wx.EXPAND | wx.ALL, border=1)
        self.SetSizer(vbox)
        menubar = wx.MenuBar()
        file_menu = wx.Menu()
        new_item = wx.MenuItem(file_menu, wx.ID_NEW, text="新建", kind=wx.ITEM_NORMAL)
        self.Bind(wx.EVT_MENU, self.on_newitem_click, id=wx.ID_NEW)
        file_menu.Append(new_item)
        file_menu.AppendSeparator()
        edit_menu = wx.Menu()
        copy_item = wx.MenuItem(edit_menu, 100, text="复制", kind=wx.ITEM_NORMAL)
        edit_menu.Append(copy_item)
        cut_item = wx.MenuItem(edit_menu, 101, text="剪切", kind=wx.ITEM_NORMAL)
        edit_menu.Append(cut_item)
        paste_item = wx.MenuItem(edit_menu, 102, text="粘贴", kind=wx.ITEM_NORMAL)
        edit_menu.Append(paste_item)
        self.Bind(wx.EVT_MENU, self.on_editmenu_click, id=100, id2=102)
        file_menu.AppendSubMenu(edit_menu, "编辑")
        menubar.Append(file_menu, '文件')
        self.SetMenuBar(menubar)
    def on_newitem_click(self, event):
        self.text.SetLabel('单击【新建】菜单')
    def on_editmenu_click(self, event):
        event_id = event.GetId()
        if event_id == 100:
            self.text.SetLabel('单击【复制】菜单')
        elif event_id == 101:
            self.text.SetLabel('单击【剪切】菜单')
        else:
            self.text.SetLabel('单击【粘贴】菜单')

class App(wx.App):
    def OnInit(self):
        # 创建窗口对象
        frame = MyFrame()
        frame.Show()
        return True

if __name__ == '__main__':
    app = App()
    app.MainLoop()  # 进入主事件循环

二.工具栏

image.png image.png
# coding=utf-8

import wx
import wx.grid

# 自定义窗口类MyFrame
class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(parent=None, title='使用工具栏', size=(550, 500))
        self.Centre()  # 设置窗口居中
        self.Show(True)
        self.text = wx.TextCtrl(self, -1, style=wx.EXPAND | wx.TE_MULTILINE)
        vbox = wx.BoxSizer(wx.VERTICAL)
        vbox.Add(self.text, proportion=1, flag=wx.EXPAND | wx.ALL, border=1)
        self.SetSizer(vbox)
        menubar = wx.MenuBar()
        file_menu = wx.Menu()
        new_item = wx.MenuItem(file_menu, wx.ID_NEW, text="新建", kind=wx.ITEM_NORMAL)
        file_menu.Append(new_item)
        file_menu.AppendSeparator()
        edit_menu = wx.Menu()
        copy_item = wx.MenuItem(edit_menu, 100, text="复制", kind=wx.ITEM_NORMAL)
        edit_menu.Append(copy_item)
        cut_item = wx.MenuItem(edit_menu, 101, text="剪切", kind=wx.ITEM_NORMAL)
        edit_menu.Append(cut_item)
        paste_item = wx.MenuItem(edit_menu, 102, text="粘贴", kind=wx.ITEM_NORMAL)
        edit_menu.Append(paste_item)
        file_menu.AppendSubMenu(edit_menu, "编辑")
        menubar.Append(file_menu, '文件')
        self.SetMenuBar(menubar)
        tb = wx.ToolBar(self, wx.ID_ANY)
        self.ToolBar = tb
        tsize = (24, 24)
        new_bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, tsize)
        open_bmp = wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR, tsize)
        copy_bmp = wx.ArtProvider.GetBitmap(wx.ART_COPY, wx.ART_TOOLBAR, tsize)
        paste_bmp = wx.ArtProvider.GetBitmap(wx.ART_PASTE, wx.ART_TOOLBAR, tsize)
        tb.AddTool(10, "New", new_bmp, kind=wx.ITEM_NORMAL, shortHelp="New")
        tb.AddTool(20, "Open", open_bmp, kind=wx.ITEM_NORMAL, shortHelp="Open")
        tb.AddSeparator()
        tb.AddTool(30, "Copy", copy_bmp, kind=wx.ITEM_NORMAL, shortHelp="Copy")
        tb.AddTool(40, "Paste", paste_bmp, kind=wx.ITEM_NORMAL, shortHelp="Paste")
        tb.AddSeparator()
        tb.AddTool(201, "back", wx.Bitmap("menu_icon/back.png"), kind=wx.ITEM_NORMAL, shortHelp="Back")
        tb.AddTool(202, "forward", wx.Bitmap("menu_icon/forward.png"), kind=wx.ITEM_NORMAL, shortHelp="Forward")
        self.Bind(wx.EVT_MENU, self.on_click, id=201, id2=202)
        tb.AddSeparator()
        tb.Realize()
    def on_click(self, event):
        event_id = event.GetId()
        if event_id == 201:
            self.text.SetLabel('单击【Back】按钮')
        else:
            self.text.SetLabel('单击【Forward】按钮')

class App(wx.App):
    def OnInit(self):
        # 创建窗口对象
        frame = MyFrame()
        frame.Show()
        return True

if __name__ == '__main__':
    app = App()
    app.MainLoop()  # 进入主事件循环

相关文章

  • MFC 之菜单、工具栏和状态栏

    菜单、工具栏和状态栏 菜单是管理菜单命令的控件,工具栏是管理工具按钮的控件,菜单的菜单项可以和工具栏的按钮关联起来...

  • IntelliJ IDEA用户界面概览

    IDEA的用户界面包括: 主菜单和主工具栏 导航栏 状态栏 编辑区 工具窗口 主菜单和工具栏 主菜单和主工具栏中又...

  • pyqt5——菜单和工具栏

    菜单和工具栏 这个章节,我们会创建状态栏、菜单和工具栏。菜单是一组位于菜单栏的命令。工具栏是应用的一些常用工具按钮...

  • 在vue.js里面使用tinymce富文本编辑器

    1、显示菜单栏+工具栏+状态栏 2、显示菜单栏+工具栏 3、不显示菜单栏+工具栏+状态栏

  • C# WinForm菜单和工具栏控件

    在工具箱中将控件划分为公共控件、容器、菜单和工具栏、数据、组件、打印、对话框等组。 本章为菜单和工具栏控件 C# ...

  • 2.PYQT中的菜单和工具栏

    在这部分的PyQt5教程中,我们将创建菜单和工具栏。菜单式位于菜单栏的一组命令操作。工具栏是应用窗体中由按钮和一些...

  • 快捷键--excel文档

    菜单和工具栏操作 Alt+F 激活“文件”菜单 Alt+E 激活“编辑”菜单 Alt+V 激活“视图”菜单 Alt...

  • 菜单和工具栏

    2019年12月19日 一.菜单 二.工具栏

  • Winfrom程序组件

    菜单栏和工具栏 1、MenuStrip:顶部菜单,可右键点击插入标准项 2、ContextMenuStrip:右键...

  • 读书笔记—《交互设计精髓》第23章 工具栏

    1、工具栏不是菜单 工具栏为有经验的用户提供快速访问常用功能的途径 2、解释工具栏控件 所有的工具栏和图标控件都应...

网友评论

      本文标题:菜单和工具栏

      本文链接:https://www.haomeiwen.com/subject/ucponctx.html