matlabguide界面表格没数据数据隐藏
发布网友
发布时间:2023-04-14 14:36
我来回答
共1个回答
热心网友
时间:2023-11-03 06:28
举一个例子:有radiobutton1、radiobutton2、edit1、edit2四个控件
第一步:在OpeningFcn函数下,写入下列程序,
set(handles.edit1,'visible','off');
set(handles.edit2,'visible','off'); %即在运行后edit1与edit2不显示
第二步:在radiobutton1的callback下写入以下程序,
set(handles.radiobutton2,'value',0);
set(handles.radiobutton1,'value',1);
if get(handles.radiobutton1,'value')
set(handles.edit1,'visible','on');
set(handles.edit2,'visible','off');
end %点击radiobutton1,edit1显示,edit2隐藏
第三步:在radiobutton2的callback下写入以下程序,
set(handles.radiobutton1,'value',0);
set(handles.radiobutton2,'value',1);
if get(handles.radiobutton2,'value')
set(handles.edit2,'visible','on');
set(handles.edit1,'visible','off');
end %点击radiobutton2,edit2显示,edit1隐藏
第四步:完善edit1的callback程序
handles.edit1= str2num(get(hObject,'String'));
guidata(hObject, handles);
完善edit2的callback程序
handles.edit2= str2num(get(hObject,'String'));
guidata(hObject, handles);
注:以上四个控件,我在摆放的时候,edit1和edit2摆放的位置有重叠的部分
以上完成之后,可以实现点击radiobutton1,edit1显示,edit2隐藏;点击radiobutton2,edit2显示,edit1隐藏,没有问题
但是当点击radiobutton1,输入edit1中的数据之后(比如输入3,再删除);再点击radiobutton2,edit1控件就不能隐藏了,edit1和edit2同时出现,而且也会出现如下错误
Error using handle.handle/set
Invalid or deleted object.
Error in
set(handles.edit1,'visible','off');
请问这是什么原因造成的?这应该和我摆放edit1和edit2的位置有交叉没有关系吧,该怎样修改程序,才能实现edit的正常输入?