单选按钮组就是用于切换按钮的容器,常用于选择,该组件的回调函数可设计用于计算、赋值等等。

此示例结合编辑字段(数值)组件,目标是选择数字并回执一段文字,同时介绍两种用于选择比较的代码用法,strcmpswitch。

1)首先将所需要的组件拖拽到画布上

matlab appdesigner系列-常用4-单选按钮组、编辑字段(数值)-LMLPHP

 2)编辑字段(数值)组件是由标签组件数值框合并的,在这里删掉标签部分,只留数值框。

将单选按钮组组件尺寸拉大一些,将数值框放进去,并修改相应文字,在组件浏览器中按图修改名字,位置如下:

matlab appdesigner系列-常用4-单选按钮组、编辑字段(数值)-LMLPHP

3)设置回调函数

matlab appdesigner系列-常用4-单选按钮组、编辑字段(数值)-LMLPHP 切换到代码区后,可以看到已经有的一句代码:

selectedButton = app.ButtonGroup.SelectedObject;

其中前面的selectedButton就是代指选择的按钮,selectedButton.Text就是其文本部分,在这里三个按钮分别对应的文本部分为“人数”、“年份”、“年龄”。

在这里需要做的就是让系统识别选择了哪个文本,然后输出相应的回执文字。strcmpswitch用法本质上都是选择判断然后执行。strcmp是用于字符串的对比,两者相同返回1,不同返回0。

matlab appdesigner系列-常用4-单选按钮组、编辑字段(数值)-LMLPHP

 switch用法的代码

           selectedButton = app.ButtonGroup.SelectedObject;
            switch selectedButton.Text
                case '人数'
                    app.ButtonGroup.Title="选择了数字"+app.data1.Value;
                case '年份'
                    app.ButtonGroup.Title="选择了数字"+app.data2.Value;
                case '年龄' 
                    app.ButtonGroup.Title="选择了数字"+app.data3.Value;
            end

strcmp用法的代码

            selectedButton = app.ButtonGroup.SelectedObject;
            if strcmp(selectedButton.Text,'人数')==1
                app.ButtonGroup.Title="选择了数字"+app.data1.Value;
            elseif strcmp(selectedButton.Text,'年份')==1
                app.ButtonGroup.Title="选择了数字"+app.data2.Value;
            else
                app.ButtonGroup.Title="选择了数字"+app.data3.Value;
            end

关于执行XX代码部分,结合运行效果进行介绍

matlab appdesigner系列-常用4-单选按钮组、编辑字段(数值)-LMLPHP

4)在显示中,单选按钮组默认值是指向第一个button位置的,如果想改变默认选择,有以下两种方法:

方法1:在组件浏览器中,找到对应的按钮,在其value位置打√;

matlab appdesigner系列-常用4-单选按钮组、编辑字段(数值)-LMLPHP 

方法2:在app的开始启动项中添加对应代码,在组件浏览器中选择app的名字处右键,添加开始启动项的回调函数

  app.Button2.Value=true;

matlab appdesigner系列-常用4-单选按钮组、编辑字段(数值)-LMLPHP

01-17 05:36