App Designer Tab Groups

169 views (last 30 days)
April Bryan
April Bryan on 8 Sep 2017
Edited: Michael on 1 Nov 2023
Hi,
I am trying to make an app with multiple tabs and I am experiencing some difficulty. How do you turn Tabs on and off in app designer? I attempted using the following code:
app.Tab.HandleVisibility='off';
However, nothing happened. The tab still appears when I run the code.
Thanks,
April
  2 Comments
Thomas Geise
Thomas Geise on 5 Feb 2023
Moved: Adam Danz on 6 Feb 2023
Ich it possible to add to an existing app a tabgroup in the way, that the original ap is (unchanged) on the first tab?
Adam Danz
Adam Danz on 6 Feb 2023
I'm not quite sure what you're asking. Consider asking a new question since the topic appears to differ from this thread.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 22 Jun 2020
An alternative is to keep the tabs visible but prevent the user from selecting them under certain conditions.
This demo uses checkbox values to control whether a tab can be selected or not.
  2 Comments
Manuel Alejandro
Manuel Alejandro on 24 Feb 2023
Hi, is it possible to customize the appearence of the tabs, I mean, the heigth and width and the distrubution in the whole tab bar?
Adam Danz
Adam Danz on 24 Feb 2023
The postion property of Tabs is read-only which prevents changing width or height of Tabs. Tab order can be changed but not spacing between tabs.

Sign in to comment.

More Answers (3)

Jorge Paloschi
Jorge Paloschi on 5 Jun 2020
Another way of doing it:
  • Create a dummy
tg = matlab.ui.container.TabGroup;
  • Suppose your tab is in index 2, then do
app.TabGroup.Children(2).Parent = tg;
  • After this the tab is not visible anymore
  • To make it visible again do the opposite
tg.Children(1).Parent = app.TabGroup;
  • The only remaining action is to permute the children of app.TabGroup so that the last Children goes back to index 2, and voila, visible again in the right order!
You might have to change the property name TabGroup to the one in your application if it is not the default Property name.
  6 Comments
ClaytonA
ClaytonA on 9 Apr 2021
Thanks.
This is way harder than it should be. Why isn't there a Visibility property?
Michael
Michael on 1 Nov 2023
Edited: Michael on 1 Nov 2023
^^^ Exactly this - why is it so difficult? Have Enable and Visibility properties for tabs in groups!

Sign in to comment.


Melissa Williams
Melissa Williams on 16 Oct 2017
If you want to show and hide the tabs as the user interacts with your app, one way to do this is to add a second TabGroup and set its visibility to off. When you want to hide a tab, set it's parent to the second, hidden tab group, app.Tab.Parent = app.TabGroup2. When you want to show it again, set it back to the visible tab group, app.Tab.Parent = app.TabGroup.
  1 Comment
Dominik Müller
Dominik Müller on 4 Dec 2020
Okay this is a way to show / hide tabs. But if I do so and switch between the tabs all items on the tab are hidden. What am I doing wrong? And how to fix this?

Sign in to comment.


Elizabeth Reese
Elizabeth Reese on 11 Sep 2017
If you want to change which tab in a group is visible, you can use:
app.TabGroup.SelectedTab = app.Tab1
where Tab1 is a tab in the group.
If you want the entire tab group to disappear from the screen, you can use:
app.TabGroup.Visible = 'off'
  1 Comment
April Bryan
April Bryan on 11 Sep 2017
Hi Liz,
Thank for your response. I have two tabs in my program. I tried the following solution to make just one of them visible:
app.TabGroup.Visible='off' app.TabGroup.SelectedTab=app.Tab1
According to the previous response, this should turn both tabs off and then make the first tab visible. However, both tabs remain turned off. The only way I can make them possible is to change app.TabGroup.Visible to 'on'. However, then both tabs appear. Is there a way to fix this?
Thanks
April

Sign in to comment.

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!