Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab复选框gui_Matlab_User Interface_Checkbox - Fatal编程技术网

Matlab复选框gui

Matlab复选框gui,matlab,user-interface,checkbox,Matlab,User Interface,Checkbox,我在GUI上有一个复选框,可以在实时视频提要上绘制一个矩形,但是,当我取消选中该复选框时,我需要该矩形消失或被删除。 有人知道怎么做吗 这是我的代码,我试着把东西放在其他地方,但没有任何效果 function Box(hObject,eventdata) if (((get(hObject,'Value') == get(hObject,'Max')))) % Checkbox is checked-take appropriate action hold on; rectangle('P

我在GUI上有一个复选框,可以在实时视频提要上绘制一个矩形,但是,当我取消选中该复选框时,我需要该矩形消失或被删除。 有人知道怎么做吗

这是我的代码,我试着把东西放在其他地方,但没有任何效果

function Box(hObject,eventdata)

if (((get(hObject,'Value') == get(hObject,'Max'))))
 % Checkbox is checked-take appropriate action
 hold on;
rectangle('Position',[50,50,100,100],'EdgeColor','r')
else
end

您需要保存由函数矩形创建的句柄。然后将这个句柄添加到GUI的大句柄中,以便在再次调用回调时能够访问它

所以像这样修改你的函数

function Box(hObject,eventdata,handles)

if (((get(hObject,'Value') == get(hObject,'Max'))))
 % Checkbox is checked-take appropriate action
 hold on;
handles.rectangleSave=rectangle('Position',[50,50,100,100],'EdgeColor','r');
guidata(handles.output,handles);
else
delete(handles.rectangleSave);
end
如果您从未使用过手柄,请查看此处:

handles.output通常将句柄存储到大界面窗口,如下所述: