Matlab GUI で 2 つのトグル ボタンを作成して、一方が他方を切り替える方法はありますか? つまり、ボタン A がオンの場合、オンにすると A がオフになるボタン B を作成するにはどうすればよいでしょうか。
質問する
8394 次
2 に答える
1
これは私のコードです:
function button1_Callback(hObject, eventdata, handles)
if get(hObject,'Value')==1
%do something here
else
%do something else (in my case delete a video object)
2番目のボタンを配置してコマンドを使用すると
set(handles.button1,'Value',0)
その結果、最初のボタンはトグルしますが、その後のコマンドelse
は実行されません。そのコマンドも実行する方法はありますか?
于 2012-11-15T19:28:29.200 に答える
0
バージョン R2009a を使用しているため、これが機能するかどうかはわかりません。
2 つのプッシュ ボタンをguide
(デフォルト名で) 定義しました。最初にクリックすると無効になり (有効: オフ)、値が 1 に設定され、文字列がオンに設定されます。2 番目の押しボタンは別の状態に設定されます。他のボタンにも同様の動作が与えられます。
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
set(handles.pushbutton1,'Value',1,'String','On','Enable','Off')
set(handles.pushbutton2,'Value',0,'String','Off','Enable','On')
get(handles.pushbutton1)
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
set(handles.pushbutton1,'Value',0,'String','Off','Enable','On')
set(handles.pushbutton2,'Value',1,'String','On','Enable','Off')
button1 の状態に応じて button2の動作
を切り替えたい場合は、次のようにします。
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% this toggles button1 between 0 and 1 and its label between 'On' and 'Off'
p = 1-get(handles.pushbutton1,'Value');
set(handles.pushbutton1,'Value',p)
if p==0
set(handles.pushbutton1,'String','Off')
else
set(handles.pushbutton1,'String','On')
end
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% Behavior of button2 is dependent on state of button1
p = get(handles.pushbutton1,'Value');
if p==0
% Do this when button1 has its label to 'Off' (and Value to 0)
else
% This will execute when button1 has a Value of 1 (and its label showing 'On')
end
これはあなたが必要とするものですか?
于 2012-11-15T18:07:36.290 に答える