matlab单选按钮

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/charie411/article/details/72934157

书到用时方恨少

最近使用matlab做GUI,需要用到单选按钮,现总结查询到的方法。

法一:使能+禁用

一种方法是在各个单选按钮的CallBack函数处使能当前单选按钮,同时禁用其他按钮;然后判定按钮value,并返回给新的变量,后续应该是判定新变量,进行后续操作。

#使能当前按钮,禁用其余按钮
set(handles.radiobutton1,'value',1);
set(handles.radiobutton2,'value',0);
if get(handles.radiobutton1,'value')
    set(handles.text4, 'String', 'lb/cu.in');
    set(handles.text5, 'String', 'cu.in');
    set(handles.text6, 'String', 'lb');
elseif get(handles.radiobutton2,'value')
     set(handles.text4, 'String', 'kg/cu.m');
    set(handles.text5, 'String', 'cu.m');
    set(handles.text6, 'String', 'kg');
end

法二:unitgroup的selectionchangedFc

unitgroup是图中标题为Button Group的那个控件
unitgroup是图中标题为Button Group的那个控件,在matlab的GUI模板【GUI with Uicontrols】中,可以看到对应的处理办法:unitgroup控件的unitgroupunitgroup_SelectionChangedFc函数中,首先判定unitgroup控件的值,然后根据判定进行相应操作。

if (hObject == handles.english)
    set(handles.text4, 'String', 'lb/cu.in');
    set(handles.text5, 'String', 'cu.in');
    set(handles.text6, 'String', 'lb');
else
    set(handles.text4, 'String', 'kg/cu.m');
    set(handles.text5, 'String', 'cu.m');
    set(handles.text6, 'String', 'kg');
end

对比

对比来看,unitgroup方法还是简练一些,以后可得多学习模板~

猜你喜欢

转载自blog.csdn.net/charie411/article/details/72934157