我在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
答案 0 :(得分:0)
您需要保存函数矩形创建的句柄。然后将此句柄添加到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
如果您从未使用过手柄,请在此处查看: http://www.matlabtips.com/on-handles-and-the-door-they-open/
handles.output通常将句柄存储到大接口窗口,如下所述: http://www.matlabtips.com/guide-me-in-the-guide/