图片缩略图

TabManager-从指南GUI创建选项卡面板(UITABGOUP)

version 1.6.0.0 (41.1 KB) by 格兰特
基于约定的方法,它允许使用GUIDE设计选项卡GUI
4.9
35评级

16下载

更新2018年3月10日

查看版本历史记录

查看许可协议

这个类允许用户使用支持选项卡UI的GUIDE创建GUI。金宝app
由于指南不直接支持uitabgroup控件,因此此类允许将金宝app选项卡创建为标准面板,并在运行时转换为uitab控件。
用法:
1.创建一个标签设置为Tab的窗格?在哪里?是任何字母或数字(如TabA)。此主窗格应保留为空,并确定选项卡组(uitabgroup)的大小和位置。
2.使用以主窗格名称开头的标记名创建其他窗格。所有其他控件都应添加到这些窗格中。
3.在指南生成的函数xxx\u OpeningFcn中添加以下内容:
handles.tabManager=tabManager(hObject);

引用为

格兰特(2021年)。TabManager-从指南GUI创建选项卡面板(UITABGOUP)(//www.tatmou.com/matlabcentral/fileexchange/54705-tabmanager-create-tab-panels-uitabgroup-from-a-guide-gui),MATLAB中央文件交换。恢复

意见及评分(68

加Aguirre

Ampt-Ampt

维鲁普·拉奥

你好,格兰特,
谢谢您的回复,给您带来的不便深表歉意。
是的,他可能会感到困惑。很抱歉听到你的matlab许可证过期了。
我会调查这个问题,看看我是否能同时解决这个问题。
谢谢
维鲁普

格兰特

嗨Virup,

Rupesh发送给我的m文件依赖于其他m文件,这些m文件在他的matlab路径上,但没有包括在内。

我回复了他的邮件,说明要检查发送的文件是否独立,他回复时告诉我如何编辑他的m-文件,让它们工作!!

我想他对免费提交的免费支持有点困惑!!金宝app

一般来说,让别人去做你自己都不愿意做的工作不是一个好主意!

从那时起,我的Matlab许可证已过期,因此即使您发送自包含的m文件,也很难提供帮助。

谢谢
授予

维鲁普·拉奥

你好,格兰特,
很抱歉问你这个问题。你是否已经回复了Rupesh在2019年1月5日提出的问题,他在2019年1月25日给你发了m文件。
如果你已经给他发了回信,你能把那封信转发给我吗?我的邮件id是viru。eswar@gmail.com
我目前正在调查这个问题。
谢谢,
维鲁普

格兰特

您看过zip中包含的示例“TabManagerExample”了吗?请尝试使用Matlabs“guide”程序修改图TabManagerExample.fig。TabManager.m顶部还有一些说明

安德烈·路易斯Lourenco

我如何使用它?我迷路了

韩彦军

你好,格兰特,
很抱歉,为另一个工具箱提出了错误的问题,不适用于Tab manager

帕特里克·施密特

你好,格兰特,
我使用tabManager创建了几个选项卡组,每个选项卡组都配备了SelectionChangedFcn。但有时似乎执行了错误的函数,例如,在TabGroupC中的更改上,tabChangedB函数会执行。有没有办法防止这种情况?我认为这是因为选项卡组由于某种原因改变了位置,然后错误的SelectionChangedFcn应用于错误的选项卡组。

塔克斯。

嗨,格兰特,
我已经寄给你了。

格兰特

你好,Rupesh,你可以发送到gmail.com去开发它

嗨,格兰特,
当然你的电子邮件id是什么?

格兰特

你好,鲁佩什,你能给我发电子邮件的m&fig文件,显示这个问题吗?

你好,格兰特,我已经创建了一个指南页面“pageA”,其中有选项卡TabA(主选项卡),然后是子选项卡TabAchild1、TabAchild2和TabAchild3。所有这些选项卡都是使用TabManager创建的,它们工作正常。我使用的是Matlab 2017a版本。作为实现的一部分,我在每个子选项卡上都有一个关闭按钮。如果我按下任何子选项卡上的关闭按钮,“pageA”应关闭。基本上,在这个按钮的回调中,我使用命令“close(pageA);”。但是我得到一个错误,说“Panel TabAchild1不能是其主窗格TabA(必须是空面板)的子级”。我是不是遗漏了什么?

格兰特

嗨,帕特里克,出于某种原因,我的评论似乎并没有永久保存下来。
作为提交的一部分的示例TabManagerExample.m在设置所选选项卡的“主”和“补充”按钮上有代码。相同的属性可用于获取活动/选定选项卡。

tabMan=handles.tabManager;
tabMan.Handles.TabA.SelectedTab = tabMan.Handles.TabA01Main;

格兰特

格兰特

嗨,Patrick,可能很明显,但当我提到“示例”时,我指的是示例选项卡managerExample.m,这是提交的一部分。

帕特里克·施密特

Hello Grant,有办法得到当前活动的标签吗?

魏海瑞

格兰特

你好,Sebastian,你可以通过调用从任何回调中获得图形句柄
处理= guihandles

谢谢你授予,
我真的很感谢你的工作和对社区的帮助!
但是我想知道,我如何得到我的句柄作为tabChangedCB函数的输入?
我想根据当前选择的选项卡更改另一个选项卡组中的选项卡。
对不起,我不太清楚。:)

格兰特

嗨exploder123,不幸的是,Matlab不支持设置大小,颜色等标签(除了通过无文档的金宝appjava调用)。

巴图汉叶蒂塞纳酒店

巴图汉叶蒂塞纳酒店

你好,格兰特,非常感谢这位经理,这太棒了。

是否有办法更改选项卡标题(显示选项卡标题的小区域)的颜色?

非常感谢你。

格兰特

嗨,Paul,这个问题与Matlab向父数组添加子数组的顺序有关,以及制表符顺序如何与子数组顺序相反。我已经更改了TabManager,现在它保留了GUIDE选项卡顺序。

格兰特

您好Timon,谢谢您的改进建议和代码。我已将其放入最新版本中(并将示例修改为包含嵌套选项卡组)

保罗·安德森

嗨,格兰特,提交得很好。谢谢你!我注意到,当我使用TabManager时,各个组件的标签顺序(即,当按下键盘上的tab键时,哪个组件获得焦点)实际上与GUIDE的标签顺序编辑器中显示的相反。有没有其他人注意到这一点,并且/或者有一个解释?
谢谢!

曼努埃尔

在matlab2017上工作就像一个魅力

丁满

嗨,格兰特,
非常感谢您提供了非常有用和方便的tabmanager!我尝试制作嵌套GUI,但首先遇到了困难。然后我稍微修改了函数tabmanager(在OwnerPanel的for循环中):
母公司=获得(panelOwner,‘父’);
tabGroup = uitabgroup('Parent', Parent, 'Units', Units, 'Position', pos, 'Tag', ownerTag);

如果所有者面板位于另一个选项卡组的选项卡内,则新的所有者面板将再次将该选项卡作为父选项卡。如果你也喜欢,你可以把它添加到你的代码中。
谢谢!

Badar

亲爱的格兰特,
不,我没有更改源文件tabmanager.m,错误就在我的tabmanager.m文件中。
现在,在切换我在2017a Matab上的工作后,错误被删除。
通过创建此选项卡面板,您做得很好:)

谢谢

格兰特

您好,巴达尔,您是否重命名/更改了TabManager.m?您得到的错误来自函数/类TabManage(不是TabManager)。我不认为是TabManager造成了问题。

Badar

嗨,格兰特,
我正在GUI中使用您的Tabmanager程序,我成功地创建了选项卡,但当我在选项卡中编程组件时,它会显示此错误,运行程序后,我的Tanmanage.m文件现在为空。
请在这方面指导我,提前谢谢。

使用TabManage时出错
输入参数太多。

错误
matlab.graphics.internal.figfile.FigFile /阅读> @ (hObject eventdata) TabManage (edit14_CreateFcn, hObject、eventdata guidata (hObject))
使用TabManage时出错
输入参数太多。

错误
matlab.graphics.internal.figfile.FigFile /阅读> @ (hObject eventdata) TabManage (edit13_CreateFcn, hObject、eventdata guidata (hObject))
使用TabManage时出错
输入参数太多。

Badar

UNAL

格兰特

你好,Donya,我已经更新了TabManager.m,这样占位符面板的背景颜色现在就可以复制到相应的uitab。

唐雅·科萨曼

你好
谢谢分享:)我已经实现了它,它工作得很好,但当我试图改变面板的颜色,它不工作,它回到默认的灰色。我想知道你是否已经在函数中定义了颜色,或者我的程序有问题!

提前感谢:)

格兰特

Hi Trung Tran,是的,您可以通过选项卡组的SelectionChangedFcn属性设置回调函数。我已经更新了示例(TabManagerExample.m)来展示如何做到这一点。

陈楚瑜

嗨,格兰特,
这是一个令人惊奇的故事。我想问一下,在我手动选择tabe之后,是否可以执行回调函数?

格兰特

你好Oldemonium,您可能有表示选项卡的面板,它们是表示主面板的面板的子面板。将面板(TabA01等)从主面板(TabA)中拖出,使它们成为图形的子面板。我最近上传的TabManager的新版本(1.03)生成了一个描述性更强的错误消息,应该更容易诊断这个问题。

Oldemonium

嗨,格兰特和艾弗里。我是如何解决你的问题的?我现在也有同样的问题。

救救我

格兰特

嗨,自由,不知道为什么会这样。您是否尝试过TabManagerExample(包含的示例)?那对你有用吗?这个例子和你的代码有什么不同?如果你想让我弄清楚发生了什么事,你可以把你的代码/图发给我。发送到gmail.com进行开发

救救我

嗨,格兰特,谢谢你的分享。我在一个引导图中创建了3个面板,分别标记为TabA、TabA01和TabA02,并添加了
handles.tabManager=tabManager(hObject);在openning函数中,当我运行它时,会出现错误。我的版本是2015b,
你能帮帮我吗,谢谢!

错误使用handle.handle /
无效或已删除的对象。

TabManager中出现错误(第98行)
panelTag=get(hPanel,'Tag');

tabtest>tabtest_OpeningFcn错误
handles.tabManager=tabManager(hObject);

gui_mainfcn中的错误(第220行)
feval(gui_State.gui_OpeningFcn,gui_hFigure,[],guidata(gui_hFigure),varargin{:});

tabtest中的错误(第42行)
gui_mainfcn (gui_State变长度输入宗量{:});

格兰特

Hi Hyun-Gwang, Matlab标签有相当有限的功能,我不认为你可以隐藏/启用它们。

Hyun-Gwang曹

谢谢,很好~!!
我可以使用选项卡的enable或visible属性吗?

朱利安·肖克

这个指南是绝对不可思议的添加!

曼努埃尔·多姆霍夫

伊戈尔·桑金

甜蜜-美好而简单!

安德斯·西蒙森

太神了非常好的工作和简单易用。谢谢

Florian鲁茨

有没有可能用这样的词:
设置(handles.tabManager。TabA02,“使”,“关闭”);
禁用特定选项卡?

我发现以下错误:
Tab类上没有Enable属性。

非常感谢。

马特罗布胡希

我很惊讶,MATHWORKS怎么会忽略GUIDE中的这样一个基本特性。谢谢你的分享。

xen

这个太棒了!
希望mathworks能提供官方支持。金宝app

当当郎

优秀的工作

利科

格兰特

你好,李科,我已经更新了这个示例,展示了如何从代码中选择选项卡。
tabMan=handles.tabManager;
tabMan.Handles.TabA.SelectedTab = tabMan.Handles.TabA02Supplementary;

利科

嗨,格兰特,
谢谢你的出色工作。这对我帮助很大。
关于tab manager有一个小问题。是否可以通过命令而不是鼠标单击来切换tab?例如,我有3个选项卡,即TabA1、TabA2和TabA3,我希望在完成一些数据打印后自动切换到TabA2。

谢谢。

格兰特

嗨夺得zelan,
通过将以下代码添加到TabManagerExample_OpeningFcn中,可以在示例图中显示一个图像(即TabManagerExample)。

img=imread('c:\temp\the_image.png');
图像(img,'Parent',handles.axes1);

夺得zelan

嗨,格兰特,

我只想问一下如何在一个特定面板的轴上绘制一幅图片。

谢谢

格兰特

不幸的是,Matlab不支持在选项卡上设置大小、颜色等(除了金宝app通过未记录的java调用)。

Y G

可以更改选项卡上的大小、颜色和字体吗?

伊内斯

我看了看你的TabManager,它似乎是我错过了MatLab提供的工具,通过指南来管理选项卡面板。
谢谢你与我们分享

伊内斯

测试MATLAB

现在都在工作。问题出在椅子和键盘之间。非常感谢格兰特在这方面帮助我。这正是我想要的。

格兰特

您好,Amit-您只是在Matlab2015a中运行一个未修改的TabManagerExample副本吗?这应该行得通。我刚刚用Matlab2015a对其进行了测试。联系我(在gmail.com上开发),我会看看我们是否能解决这个问题。

测试MATLAB

嗨,格兰特-我正在寻找一个完全像这样的工具,我可以把我所有不同的图形组合成一个选项卡式用户界面。

当我尝试您的示例文件时,它似乎对我不起作用。我得到这个错误:

错误使用handle.handle /
无效或已删除的对象。
TabManager中出错(第80行)
panelTag=get(hPanel,'Tag');

就像你在这里解释的那样,我试着用我自己的例子http://stackoverflow.com/questions/11084565/how-do-i-create-a-tabbed-gui-in-matlab.但这也不管用。

我使用的是Matlab2015a。感谢你的帮助。

肖恩

MATLAB版本兼容性
使用R2014b创建
与任何版本兼容
平台的兼容性
窗户 马科斯 Linux
标签添加标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!