-
2021-01-15 14:52:06
matplotlib工具栏源码探析二(添加、删除内置工具项)探讨了工具栏内置工具项的管理,除了内置工具项,很多场景中需要自定义工具项,官方给出了案例
https://matplotlib.org/gallery/user_interfaces/toolmanager_sgskip.html
,主要基于matplotlib.backend_managers.ToolManager
类实现,即使用工具栏管理器模式。官方案例解析
下面对官方案例关键点做注释说明。
import matplotlib.pyplot as plt # 设置工具栏使用工具栏管理器模式 plt.rcParams['toolbar'] = 'toolmanager' # 导入工具项的基类ToolBase和ToolToggleBase from matplotlib.backend_tools import ToolBase, ToolToggleBase # 因为工具项必须以类的形式添加,所以创建自定义基本工具项类,基类为ToolBase class ListTools(ToolBase): # 该工具项的功能为列出工具栏管理器管理的所有工具项 """List all the tools controlled by the `ToolManager`.""" # 设置默认快捷键和工具项描述 default_keymap = 'm' description = 'List Tools' # 定义工具项被触发时的动作 def trigger(self, *args, **kwargs): print('_' * 80) print("{0:12} {1:45} {2}".format( 'Name (id)', 'Tool description', 'Keymap')) print('-' * 80) # 获取工具栏管理器管理的所有工具项 tools = self.toolmanager.tools # 输出各个工具项 for name in sorted(tools): if not tools[name].description: continue keys = ', '.join(sorted(self.toolmanager.get_tool_keymap(name))) print("{0:12} {1:45} {2}".format( name, tools[name].description, keys)) print('_' * 80) print("Active Toggle tools") print("{0:12} {1:45}".format("Group", "Active")) print('-' * 80) for group, active in self.toolmanager.active_toggle.items(): print("{0:12} {1:45}".format(str(group), str(active))) # 基于ToolToggleBase创建自定义切换式工具项,切换式工具项在触发时会在生效和失效两种状态之间切换 class GroupHideTool(ToolToggleBase): # 该工具项的功能为根据分组切换显示/隐藏数据元素 """Show lines with a given gid.""" # 设置默认快捷键和工具项描述 default_keymap = 'G' description = 'Show by gid' default_toggled = True # 构造函数的参数gid为数据元素的分组 def __init__(self, *args, gid, **kwargs): self.gid = gid super().__init__(*args, **kwargs) # 定义工具项生效时的方法 def enable(self, *args): self.set_lines_visibility(True) # 定义工具项失效时的方法 def disable(self, *args): self.set_lines_visibility(False) def set_lines_visibility(self, state): for ax in self.figure.get_axes(): for line in ax.get_lines(): if line.get_gid() == self.gid: line.set_visible(state) # 注意!在图像生成之后,修改图像中的元素必须重绘 self.figure.canvas.draw() fig = plt.figure() # 注意通过gid属性可以为数据元素分组 plt.plot([1, 2, 3], gid='mygroup') plt.plot([2, 3, 4], gid='unknown') plt.plot([3, 2, 1], gid='mygroup') # 将自定义的工具项添加添加到工具栏管理器,格式为 工具项名称 工具项类 其他参数 fig.canvas.manager.toolmanager.add_tool('List', ListTools) fig.canvas.manager.toolmanager.add_tool('Show', GroupHideTool, gid='mygroup') # 可以反复添加已存在的工具项 # Add an existing tool to new group `foo`. # It can be added as many times as we want fig.canvas.manager.toolbar.add_tool('zoom', 'foo') # 删除工具项 # Remove the forward button fig.canvas.manager.toolmanager.remove_tool('forward') # 新添加到工具栏管理器的工具项还不能直接使用,需要通过toolbar对象添加到当前工具栏 # 如果不将自定义的工具项添加到工具栏管理器,直接使用toolbar对象添加则会报错 # 将自定义的工具项Show添加到内置的navigation组的特定位置(即组内第2个位置) # To add a custom tool to the toolbar at specific location inside # the navigation group fig.canvas.manager.toolbar.add_tool('Show', 'navigation', 1) #fig.canvas.manager.toolbar.add_tool('List', 'navigation', 2) plt.show()
官方案例运行结果
运行后自定义的
Show
按钮处于生效状态,3条线全部显示。
点击
Show
按钮,使之处理失效状态,mygroup
组的两条线不再显示。
由于案例中仅将List
工具项添加到工具栏管理器,但是没有添加到工具栏中,因此List
工具项未在工具栏中显示。但是List
工具项的快捷键m
是生效的,在界面上按快捷键m
,控制台输出以下信息。________________________________________________________________________________ Name (id) Tool description Keymap -------------------------------------------------------------------------------- List List Tools m Show Show by gid G allnav Enable all axes toolmanager a back Back to previous view MouseButton.BACK, backspace, c, left copy Copy the canvas figure to clipboard cmd+c, ctrl+c fullscreen Toggle fullscreen mode ctrl+f, f grid Toggle major grids g grid_minor Toggle major and minor grids help Print tool list, shortcuts and description f1 home Reset original view h, home, r nav Enable one axes toolmanager 1, 2, 3, 4, 5, 6, 7, 8, 9 pan Pan axes with left mouse, zoom with right p quit Quit the figure cmd+w, ctrl+w, q quit_all Quit all figures save Save the figure ctrl+s, s subplots Configure subplots xscale Toggle scale X axis L, k yscale Toggle scale Y axis l zoom Zoom to rectangle o ________________________________________________________________________________ Active Toggle tools Group Active -------------------------------------------------------------------------------- default None None {'Show'}
总结
matplotlib
支持两种工具项:基本工具项(基类ToolBase
)和切换式工具项(基类ToolToggleBase
)。
基本工具项需要注意定义trigger
方法,即工具项被触发时的动作。
切换式工具项需要注意定义enable
和disable
方法,即生效和失效两种状态的动作,如方法定义中牵扯到修改图像,需要注意重绘图像。
注意添加自定义工具项的流程!先将自定义的工具项添加到工具栏管理器,然后再添加到当前工具栏!内置工具项之所以不用添加到工具栏管理器是因为它们本身就已经添加在工具栏管理器!更多相关内容 -
VC MFC在对话框中添加工具栏.rar
2012-01-02 11:59:20VC MFC在对话框中添加工具栏.rar -
怎么在Excel中添加开发工具到工具栏
2021-07-27 00:54:47怎么在Excel中添加开发工具到工具栏腾讯视频/爱奇艺/优酷/外卖 充值4折起有的小伙伴在使用Excel软件处理数据时,为了快速使用开发工具中的工具,所以想要添加开发工具,但是却不知道如何添加,那么小编就来为大家...怎么在Excel中添加开发工具到工具栏
腾讯视频/爱奇艺/优酷/外卖 充值4折起
有的小伙伴在使用Excel软件处理数据时,为了快速使用开发工具中的工具,所以想要添加开发工具,但是却不知道如何添加,那么小编就来为大家介绍一下吧。
具体如下:
1. 第一步,双击或者右击打开Excel文档。
2. 第二步,在下图所示的Excel软件主页面后,点击左上角箭头所指的文件选项。
3. 第三步,来到下图所示的文件页面后,点击页面左侧的选项。
4. 第四步,在下图所示的选项页面中,点击页面左侧的自定义功能区选项。
5. 第五步,我们可以看到如下图所示的自定义功能区页面,
勾选开发工具左边的复选框,接着点击右下角的确定选项。
6. 第六步,再次来到Excel软件主页面后,可以看到成功在excel表头中添加了开发工具。
以上就是怎么在Excel中添加开发工具到工具栏的方法。
腾讯视频/爱奇艺/优酷/外卖 充值4折起
时间:2019-10-31 03:28 / 作者:百科全说
Excel中默认是不在主页显示开发者工具的,那么如何把这个功能调出来呢?下面一起来看看吧.具体如下:1. 第一步,打开Excel后,我们点击文件,然后选择[选项],如图所示:2. 打开Excel选项窗口后,我们点击左侧的"自定义功能区"选项,如图所示.3. 在右边的如图的地方,下拉选项中,点击[主选项卡].4. 在主选项卡里,有很多功能,我们将开发者工具勾选上:6. 点击确定后,返回主界面就可以看到,开发工具就出现在主选项上了:以上就是怎么在Excel中添加"开发工具&quo
开发工具选项卡怎么被添加到Excel中呢?一起来看看吧.方法如下:一.如图所示,鼠标右键Excel工具栏的空白区域:二.弹出菜单栏后,点击选择"自定义功能区(R)":三.下拉功能区箭头,选择"主选项卡"选项:四.将"开发工具"勾选上,点击"确定"按钮:五.若"主选项卡"没有"开发工具",则需要收工添加选择命令中的"开发工具":六.添加"开发工具"后
大家在用Excel编写VBA代码的时候要用到开发工具,但是一般情况下,Excel中的开发工具的隐藏的,那么如何让Excel中的开发工具显示并应用它呢,来看看小编的介绍.具体如下:1. 第一步,打开Excel,点击左上角的"文件",然后在出现的下拉菜单中点击"选项".2. 第二步,点击左侧的"自定义功能区",这时候右侧就会出现一系列的自定义功能.3. 第三步,在右侧自定义功能区中选择"主选项卡",然后在主选项卡中找到"
电脑版PS软件被很多人使用,用来编辑图片等,为了可以快速使用切片工具,因此想要添加切片工具到工具栏中,但是却不知道如何添加,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,双击或者右击打开ps软件,一般情况下我们不能在工具栏中看到切片工具.2. 第二步,右击桌面左下角的"-"图标,接着点击弹出窗口中的编辑工具栏选项.3. 第三步,在下图所示的编辑工具栏页面中,可以看到切片工具对应的是"C"字母.4. 第四步,右击页面左侧工具栏中的同一栏工具.5. 第五步,在下
记得,刚学EXCEL的时候,看到别人使用什么控件,有一个开发工具,感觉好高端,我就去打开自己的EXCEL,看了半天也没有.难道真的是没有,那个是他们自己开发的吗?其实不然,他是存在的,只是隐藏了起来.那么excel开发工具在哪里?怎么添加开发工具?下面小编就为大家详细介绍一下,来看看吧! 方法/步骤 1.打开一张新的工作表之后,你会在工作表的左上方看到excel的标志图标.点击如图所示的图标. 2.点击excel图标之后就会看到一张菜单表格,在表格的正下方,会有一个Excel选项点击这个按钮.
《Excel2003入门动画教程35、Excel中添加自己常用文件夹》。 演示动画 操作步骤 在Excel的“打开”和“另存为”对话框中的右侧区域中有一些文件夹的快捷方式,能不能将一些常用文件夹添加到这个地方呢? 在“打开”或“另存为”对话框中,定位到需要添加的文件夹中,然后按工具栏上的“工具”按钮,在随后弹出的下拉列表中,选择“添加到我的位置”选项。 以后我们打开Excel时即可通过这个快捷方式,快速定位到相应的文件夹中。 提示 此方法不仅适用于Excel,而且
在PowerPoint2016演示文稿程序中,需要使用到PowerPoint2016中的开发工具.那么,PowerPoint2016演示文稿中的开发选项工具要怎么开启呢?一起来了解下吧! 1.在计算机桌面上的PowerPoint2016程序图标双击鼠标左键,将其打开运行.并点击“空白文档”选项,新建一个空白ppt文档.如图所示: 2.在打开的ppt文档窗口中,点击左上角的“文件”命令选项.如图所示: 3.在打开的“文件”命令窗口中,点击“选项”命令选项.如图所示: 4.点击“选项”命令选项后,这
当我们在使用excel软件进行数据整理时,有的时候需要使用开发工具,但是在上方的菜单栏中一般是找不到的,那该如何打开呢?接下来就由小编来告诉大家.具体如下:1. 第一步,打开电脑,在桌面上点击excel,打开或新建一个文档.2.第二步,进入主页后,点击左上角的文件按钮.3.第三步,在弹出菜单中找到下方的选项,点击进入.4.第四步,弹出excel选项窗口,点击左侧工具栏中的自定义功能区.5.第五步,在右侧的详情页面中,勾选开发工具选项,并点击下方的确定按钮.6.第六步,回到主页即可看到上方菜单栏中
电脑版Word软件被很多人使用,用来编辑文档等,那么为了快速使用开发工具,因此想要在功能区中打开开发工具入口,但是却不知道如何打开,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,双击或者右击打开Word软件,接着点击左上角的文件选项.2.第二步,来到下图所示的文件窗口后,点击页面左侧的选项.3. 第三步,在下图所示的Word选项页面中,点击页面左侧的自定义功能区选项,接着勾选开发工具左边的复选框,然后点击添加选项,并点击右下角的确定选项. 4. 第四步,再次来到Word主页面后,可以看到
-
Qt添加工具栏按钮————附详细步骤
2021-01-03 11:37:06//工具栏中创建打开文件 QAction *actOpen = new QAction(QIcon(":/img/icons/open.bmp"), tr("打开文件(&O)"), this); ui->toolBar->addAction(actOpen); ui->toolBar->setToolButtonStyle0 前提
需要在MainWindow中进行创建
1 方法一:代码
//工具栏中创建打开文件 QAction *actOpen = new QAction(QIcon(":/img/icons/open.bmp"), tr("打开文件(&O)"), this); ui->toolBar->addAction(actOpen); ui->toolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);//设置文字图标下
2 方法二:设计师界面
- 1 在设计师界面,右键单击,选择添加工具栏
- 2 在Action Editor中新建Action,然后填入信息,最后再把需要的Action拖动到界面中的工具栏中【选择就会变成选中状态,并且在工具栏中显示图标】
- 1 在设计师界面,右键单击,选择添加工具栏
-
Idea,webStorm工具栏显示,添加快捷方式建文件
2019-07-18 21:37:101.此处右键选择 2.展开主工具栏 3.选择find actions 4.点击添加的+号 5.选择添加actions 6.选择需要添加的文件 7.此时我们发现添加的快捷方式栏已经出现 8.同时也能建立文件 ...1.此处右键选择
2.展开主工具栏
3.选择find actions
4.点击添加的+号
5.选择添加actions
6.选择需要添加的文件
7.此时我们发现添加的快捷方式栏已经出现
8.同时也能建立文件
-
Qt 给QWidget添加工具栏
2019-05-16 19:41:31//将toolButtn添加到工具栏中 Layout->addWidget(toolBar); //将工具栏放到布局中 QWidget *w = new QWidget(this); Layout->addWidget(w); //其他widget Layout->setStretch(0, 1); //设置布局比例,使工具... -
Qt添加菜单栏和工具栏
2018-10-24 18:30:43Qt添加菜单栏和工具栏 版本说明 版本 作者 时间 备注 0.1 loon 2018.10.24 初步制作出登录对话框 目录 文章目录Qt添加菜单栏和工具栏版本说明目录一、需求与目的二、详细说明三、... -
如何在Word工具栏里添加MathType
2017-03-15 10:15:26大家都知道,MathType是可以兼容很多应用程序的,最普遍的就是和Word兼容使用。在安装MathType之后,可以将MathType添加到word快速访问栏,从而可以快速能够实现对word文章中的公式进行批量操作。 -
Rational Rose 工具栏添加关联关系和组合关系工具
2018-08-02 16:05:35画 UML 图,需要在 UML 类图中给元素添加「普通关联」工具,遍觅整个工具栏,发现没有。 解决方案 第一步: 右击「Rational Rose 工具栏」,选中「Customize」,如下图所示: 第二步: 在弹出的「自定义... -
win10系统工具栏怎样添加桌面和地址栏选项【图文教程】
2021-06-16 08:33:54下面,小编就分享win10系统工具栏添加桌面和地址栏选项的具体方法。放置地址栏:1、将鼠标放置任务栏任意位置,点击右键,呼出下图菜单。2、点击“工具栏“菜单,会弹出下图菜单。3、选择”地址“菜单后,会变成下图... -
solidworks曲面工具栏如何添加
2022-02-20 10:45:40如下图的效果,这样不用去到菜单栏的插入去找曲面的功能 1、打开solidworks软件,发现solidworks曲面工具栏不见了,要怎么办呢?... 4、这就是solidworks曲面工具栏在哪里设置的方法。 ... -
Qt添加工具栏(带图标)
2020-09-04 18:26:22Qt添加工具栏(带图标) 一、准备图片 首先找到自己喜欢的图片存放到对应工程的目录下面,这是为了后面添加图标做准备。 二、创建动作 进入工程的UI设计界面; 点击如下的文件夹按钮新建动作; 填写信息... -
MFC Toolbar 工具栏按钮添加消息响应
2018-03-27 23:49:31(1)VS2010 打开类向导,选择“Message Maps”选项卡,在“Class name”列表框选择创建了工具栏的对话框类,在“Object Ids”列表中选择工具栏按钮ID,在“Messages”列表中选择“COMMAND”... -
MFC添加工具栏
2016-08-22 11:07:54MFC添加工具栏 MFC工具栏类名:CToolBarCtrl 1、准备工作: 1、在资源文件中添加三张Bitmap,注意大小。 2、在资源文件中添加StringTable,如果已有,就在StringTable上追加String (需要几个工具栏... -
pyqt5——工具栏
2021-11-05 21:25:271、右击主窗口空白处,点击添加工具栏,则主窗口出现一个工具栏,工具栏可以摆放在上下左右任意位置,也可以接在另一个工具栏后面,还可以与另一个工具栏并排放。 2、在编辑窗口部件模式下,在动作编辑器里找到工具... -
matplotlib工具栏源码探析二(添加、删除内置工具项)
2021-01-14 14:09:17matplotlib工具栏源码探析二(添加、删除内置工具项)利用内置matplotlib.backend_tools.add_tools_to_container函数添加工具项,使用工具栏管理器add_tool方法、add_toolitem方法、remove_toolitem方法、remove_... -
Qt Designer如何编辑菜单栏及添加工具栏(Tool bar)
2021-11-12 10:08:283、在新建的窗体中点击鼠标右键,选择添加工具栏 4、在动作编辑器中新建动作,右键鼠标新建或者直接选择新建都行。 例如新建一个打开功能的工具栏: 5、将动作拖动(鼠标左键按住拖动)到工具栏中 6、最终结果... -
Qt为工具栏按钮QToolButton添加下拉菜单
2021-01-26 17:23:41效果如下: 主要代码如下: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); createToolButton();...void MainWindow::createToolButton() ... -
CATIA软件操作——将命令添加至工具栏
2021-05-28 09:38:33CATIAV6 将命令添加至工具栏1.打开首选项2.点击自定义按钮3.自定义面板4.选择操作区域或新建操作区域,向其中添加命令5.选择任意想要添加的命令,点击确认,该命令被加入下方工具栏。6.成功将命令添加至工具栏 1.... -
vscode 左侧工具栏显示
2021-11-05 15:04:561.显示工具栏 点击文件,选择首选项,点击设置按钮 搜索workbench,勾选上Workbench> Activity Bar:Visble 勾选上后,工具栏就显示出来了 -
用Qt Designer 在窗口中添加菜单和工具栏
2020-02-21 19:59:451. 添加菜单栏 双击type here,然后输入菜单名,敲下回车,如图所示 如果在添加的话就在上图...在窗口处右键,选择Add Tool Bar,添加工具栏,然后打开之前讲的Action Editor,拖动过去就可以,然后可以自己添... -
Android studio中显示工具栏并添加工具
2019-07-20 15:33:57参考网址:https://www.cnblogs.com/details-666/p/toolbar.html ... 说明: 在Android studio 3.+把Toolbr给默认关闭了,打开:选择最顶层菜单栏中的View选项,显示的下拉列表中选择Toolbar(选中后前边会... -
如何为QT窗体添加工具栏和菜单栏
2019-10-20 22:44:01在新建一个窗体的时候,我们一开始可能没有考虑菜单或者工具条的问题,但我们需要菜单栏和工具条的时候可能有点找不着北了。其实很简单。在窗体的空白处右击鼠标弹出右键菜单,从中选择“Create MenuBar”或者“Add ... -
在 Directory Opus 中添加自定义的工具栏按钮提升效率
2019-06-29 10:07:34使用 Directory Opus 替代 Windows 自带的文件资源管理器来管理你计算机上的文件可以极大地提高你的文件...本文内容Directory Opus 的工具栏自定义工具栏按钮添加一个自定义按钮命令编辑器一切皆命令 Directory Opu... -
qtDesigner设计界面中如何往工具栏中添加按钮QAction
2021-03-07 11:19:15想要给工具栏添加就拖动到工具栏上 新建完后要添加图标;得先加资源文件,加个png图片 也可以右键菜单编辑 工具栏只有图标没有文字的解决办法,修改toolButtonStyle为ToolButtonTextBesideIcon ... -
WPS Mathtype添加到工具栏 Word Mathtype添加到工具栏
2019-06-22 09:32:42WPS Mathtype添加到工具栏 Word Mathtype添加到工具栏 记录一下WPS添加公式编辑器的 【首先安装好公式编辑器】 WPS添加方法: 环境[win7 64位 WPS 2016ProPlus专业版,wps文字10.8.2.6837] 1.把 MathPage.wll 复制到... -
Idea2020在工具栏添加快速创建包和文件夹
2020-04-30 09:07:521.第一步开启工具栏和功能 2.第二步 3.第三步 4.第四步 就完成了 -
在MFC对话框程序中使用工具栏(工具条)和菜单栏
2010-09-15 15:55:32本例在实现了在MFC对话框中使用工具栏(工具条)和菜单栏.并能较好响应ON_UPDATE_COMMAND_UI消息.同时能在响应函数中用SetCheck和Enable有效.里面也有能同时改变菜单ID相关联的工具栏按钮状态的能力,只是方法和在... -
【Qt小白】如何在mainwindow里添加工具栏toolbar
2021-05-21 15:30:15我着实是Qt小白,通过添加新文件得到的mainwindow.ui 里只有菜单栏和状态栏,没有书上说的toolbar工具栏: ...只要在黑色的mainwindow区域右击,然后选择第一项“添加工具栏”,就ok了… 以上 ...