有没有一种方法以编程方式插入只有变焦,平底锅,在MATLAB和数据游标

4视图(30天)
然而,我创建一个GUI编程的方式,我想只是添加默认图工具栏中的按钮,我希望(放大,缩小,平移,数据光标)而不是整个工具栏添加然后我不想删除按钮。这也将是很高兴能够把按钮GUI上任何我想要的,但不是必须。
到目前为止,我已经几乎达到了最低目标通过将图工具栏,然后删除几乎所有的按钮。我只是不知道如何删除一个提示“刷/选择数据”。例如,如果我做一个finall (fh,“提示”,“刷/选择数据”),它将发现“ToggleSplitTool”,但它不会返回一个句柄,所以我不能删除它。
%处理标准工具栏。
《= findall(跳频,“类型”,“uitoolbar”);
%会处理我们不希望标准工具栏上的每个按钮都和删除
ptPlotToolsOn = findall(跳频,“标签”,“Plottools.PlottoolsOn”);删除(ptPlotToolsOn);
ptPlotToolsOff = findall(跳频,“标签”,“Plottools.PlottoolsOff”);删除(ptPlotToolsOff);
ttInsertLegend = findall(跳频,“标签”,“Annotation.InsertLegend”);删除(ttInsertLegend);
ttInsertColorbar = findall(跳频,“标签”,“Annotation.InsertColorbar”);删除(ttInsertColorbar);
ttLinking = findall(跳频,“标签”,“DataManager.Linking”);删除(ttLinking);
ttRotate = findall(跳频,“标签”,“Exploration.Rotate”);删除(ttRotate);
ttEditPlot = findall(跳频,“标签”,“Standard.EditPlot”);删除(ttEditPlot);
ptPrintFigure = findall(跳频,“标签”,“Standard.PrintFigure”);删除(ptPrintFigure);
ptSaveFigure = findall(跳频,“标签”,“Standard.SaveFigure”);删除(ptSaveFigure);
ptFileOpen = findall(跳频,“标签”,“Standard.FileOpen”);删除(ptFileOpen);
ptNewFigure = findall(跳频,“标签”,“Standard.NewFigure”);删除(ptNewFigure);
%的处理得到放大按钮删除分隔符酒吧
ttZoomIn = findall(跳频,“标签”,“Exploration.ZoomIn”);
集(ttZoomIn,“分隔符”,“关闭”)
似乎可以用这个: uitoolbar ,但唯一的例子由TMW文档很无用。
任何想法如何删除ToggleSplitTool吗?或者有更好的方法吗?这似乎有点笨拙。我宁愿做一个自定义工具栏和添加的按钮,我想使用它们相关的默认本地回调……我不确定我需要让所有的Cdata按钮使新的,做同样的事情,但位于其他地方图,等等。我认为回调只是putdowntext函数的一部分,所以他们都可以,但是我还没有尝试去这么远。
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年2月27日
几年前我看着,工具栏。如果我没记错的话,有很多隐藏的部分,变量初始化为uimodemanager私有的函数和类。重新创建一个元素,使它完全不切实际的工具栏的在我自己的工具栏。
我的记忆可能是错的,也实现与r2014b可能已经改变了很多。如果问题是随着我的记忆索赔然后删除元素工具栏可能是你最好的希望。

登录置评。

接受的答案

凸轮扎尔茨贝格
凸轮扎尔茨贝格 2016年3月1日
你好,瑞安,
一个技巧可以使用,而不必搜索每个按钮的标签,是将所有处理‘上’的可见性 图形根 。然后你可以访问工具栏和按钮的“孩子”属性图分别和工具栏。您可以使用 “findobj” 内搜索你想要的图形列表按钮,然后使用 “setdiff” 函数来确定所有的按钮删除。
集(大的,“ShowHiddenHandles”,“上”)
跳频=图;
《= findobj (fh.Children,“类型”,“uitoolbar”);
ttZoomIn = findobj (tbh.Children,“标签”,“Exploration.ZoomIn”);
ttZoomOut = findobj (tbh.Children,“标签”,“Exploration.ZoomOut”);
ttPan = findobj (tbh.Children,“标签”,“Exploration.Pan”);
ttDataCursor = findobj (tbh.Children,“标签”,“Exploration.DataCursor”);
删除(setdiff(《旅。孩子,[ttZoomIn ttZoomOut ttPan ttDataCursor)))
我不相信目前的方法从标准工具栏按钮添加到一个自定义工具栏。MathWorks我工作,我已经转发这个特性请求到适当的团队。它将被视为包含在未来的MATLAB的释放。
我希望这些信息会有帮助!
凸轮

答案(1)

谢尔盖Bobrus
谢尔盖Bobrus 2016年7月18日
MATLAB R2015b
无花果=图(“工具栏”,“没有”);
H = uitoolbar (“父”图);
C = uitoolfactory (H,“Standard.EditPlot”);
C = uitoolfactory (H,“Exploration.ZoomIn”);
C。分隔符=“上”;
C = uitoolfactory (H,“Exploration.ZoomOut”);
C = uitoolfactory (H,“Exploration.Pan”);

类别

找到更多的在视觉探索帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!