Я спроектировал группу из трех объектов uitabpanels.
htab = uitabgroup('v0');
th1 = uitab('v0',htab,'title','Panel 1','ButtonDownFcn',...
@th1_ButtonDownFcn);
th2 = uitab('v0',htab,'title','Panel 2','ButtonDownFcn',...
@th2_ButtonDownFcn);
th3 = uitab('v0',htab,'title','Panel 3','ButtonDownFcn',...
@th3_ButtonDownFcn);
Моим намерением является плавный переход между ними, когда я меняю выбранную uipanel щелчком мыши. Я притворяюсь, что это достигается изменением свойства Visible элементов, содержащихся в них, с помощью функции ButtonDownFcn (эта идея возникла на основе раздела описания this page ).
set(handles.th2,'Visible','off');
set(handles.th3,'Visible','off');
...
function th1_ButtonDownFcn(hObject, eventdata)
handles = guidata(fh);
set(handles.th1,'Visible','on');
set(handles.th2,'Visible','off');
set(handles.th3,'Visible','off');
guidata(fh,handles);
end
function th2_ButtonDownFcn(hObject, eventdata)
handles = guidata(fh);
set(handles.th1,'Visible','off');
set(handles.th2,'Visible','on');
set(handles.th3,'Visible','off');
guidata(fh,handles);
end
function th3_ButtonDownFcn(hObject, eventdata)
handles = guidata(fh);
set(handles.th1,'Visible','off');
set(handles.th2,'Visible','off');
set(handles.th3,'Visible','on');
guidata(fh,handles);
end
, где
fh: дескриптор фигуры, в которой они содержатся, панели uitabpanels.
handles.th1, handles.th2, handles.th3: дескрипторы элементов, содержащихся в каждой панели uitabpanel соответственно.
Однако, это не сработало (я нажимаю на каждую из вкладок uitabpanel, и видимость их не меняется), и я не понимаю, почему.