2012-04-05 15 views
0

GUI上でライブビデオフィードに長方形を描画するチェックボックスがありますが、チェックを外すと消えたり削除されたりする矩形が必要です。 これを行う方法を知っている人はいますか?Matlabチェックボックス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

関数矩形で作成されたハンドルを保存する必要があります。次に、このハンドルを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/