Assign same panel to different tabs UITAB
3 views (last 30 days)
Show older comments
I am currently trying to create a gui in GUIDE. I have created 2 tabs using uitab in a uitabgroup. I have 2 panels, of which 1 is changing when you switch between tabs (panel P1a and P1b). The other should remain the same (P2). My question is, how can I see panel P2 in both tabs? Code is as follows:
handles.tgroup = uitabgroup('Parent', handles.figure1)
handles.tab1 = uitab('Parent', handles.tgroup, 'Title', 'Import Text')
handles.tab2 = uitab('Parent', handles.tgroup, 'Title', 'Import Excel')
set(handles.P1a,'Parent',handles.tab1)
set(handles.P2,'Parent',handles.tab1)
set(handles.P1b,'Parent',handles.tab2)
set(handles.P2,'Parent',handles.tab2)
Currently, this code does not work, since I only connect P2 to tab2 because of the last line.
Thanks, Reinier
0 Comments
Accepted Answer
Adam
on 4 Nov 2016
Just reparent it in the 'SelectionChangedFcn' callback of the uitabgroup. It only needs to be parented by a tab if that tab is the currently selected one since you can never view 2 tabs at the same time.
3 Comments
Adam
on 4 Nov 2016
Edited: Adam
on 4 Nov 2016
Tabs are not supported in GUIDE so you have to do them programmatically, but I assume you have already created your uitabgroup programmatically anyway?
Something similar to this should work
hPanel = uipanel( ... )
hMainTabGroup = uitabgroup( ...
'Parent', hFig,...
'SelectionChangedFcn', @(src,evt) tabChangedCallback( evt, hPanel ) );
function tabChangedCallback( evtData, hPanel )
hPanel.Parent = evtData.NewValue;
end
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps 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!