我设计了一组三个 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 时,我的意图是在它们之间进行平滑过渡。我假装使用 ButtonDownFcn 函数更改其中包含的元素的“可见”属性来实现它(我根据本页的描述部分得到了这个想法)。
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 的每个选项卡,它们的可见性没有改变),我不明白为什么。