GUI中为每一个控件都提供了相关属性,可是大家好像对某些属性不太重视哦,其实GUI中每一个属性都是会有它存在的价值的,只是我们没有发现而已
下面我们讲解下GUI每个控件主要特征属性说明下,以便大家更好的使用GUI,毕竟是Matlab中的Visual Basic嘛 2# ToggleButton的value属性的意义和应用 3# RadioButton、CheckBox的value属性的应用 4# EditText的Max和Mini的应用以及callback的触发条件 5# ListBox和PopUpMenu的value和string属性 6# Slider的value和min、max属性 ToggleButton的value属性的意义和应用
一般来说GUI中的value属性值是表征该控件当前所处的状态,我们可以通过get获取其属性从而了解控件当前状态,另外通过set设置属性达到控制控件状态的目的
在通常情况下,value属性的取值又与控件min和max属性有关的 默认情况下max=1,min=0,value=0,而value==max时一般表示被选中或者处于按下状态,value==min时一般表示未选中或者弹起状态 但是max和min的值我们可以根据需要重新人工设置,不一定要1和0,但是一般不建议改动,除非万不得已,比如text控件,为了输入多行文字,必须将max设置为大于1的整数才可以 GUI中提供了两个【确定】控件,这就是PushButton和ToggleButton 这两个没有本质的区别,只是PushButton是一个单击触发按钮完成以后恢复原始状态 而ToggleButton会有两种状态,按下和弹起,我们可以根据需要设置两种状态分别对应不同的结果 但是我们如何知道当前状态到底是【按下】还是【弹起】状态呢? 这就需要我们用到ToggleButton的value属性了,当处于【按下】时,value==max,而【弹起】时,value==min 比如在ToggleButton_tag_creatfcn()中输入
复制内容到剪贴板
在ToggleButton_tag_callback()中输入
代码:set(hObject,'max',100,'min',10);
复制内容到剪贴板
我们将得到如下效果
代码:value=get(hObject,'value');
第一次单击 第二次单击 RadioButton、CheckBox的value属性的应用其实RadioButton、CheckBox的value的效果意义都和ToggleButton一样
EditText的Max和Mini的意义和应用
EditText的value属性没有什么实际意义,基本用不上
但是max和min却有较大意义,当max-min>1时可以输入多行文本,否则只能输入单行文本(注意此时不一定需要满足max>min) 由于min默认是0,为了输入多行文本,我们习惯的都是通过在EditText_tag_creatfcn()中设置max=2
复制内容到剪贴板
代码:set(hObject,'max',2)
当然我在GUI_filename_creatfcn()或者直接在属性面板修改也是可以的 ListBox和PopUpMenu的value和string属性
当在列表框中选中某个条目的时候,value自动赋值为该条目的序号,注意第k个条目的序号是k
而string是一个cell型的字符串,其中保存了列表框中的所有条目 注意对于Listbox,它的max和min没有什么意义,对其它属性不构成影响 比如 在ListBox_tag_creatfcn()中输入,为列表框添加如下几个条目
复制内容到剪贴板
在ListBox_tag_callback()中输入,可以查看到底是选中了第几个条目,它的内容是什么
代码:set(hObject,'string',{'西工大','西交大','北大','清华'});%从这里看出每个string必须是cell型数据,其中每一个对应一个条目
复制内容到剪贴板
代码:string=get(hObject,'string');
Listbox的callback触发的条件是,满足下面任意一条
Slider的value和min、max属性
Slider滑块控件,一般常用作进度条或者选择数据范围
max对应于滑块的最大值,min是最小值,value是当前值 其中sliderstep=[x,y]表示点击滑块的前进后退箭头value每次改变x*(max-min),直接在滑块上点击每次改变y*(max-min),一般而言x<y,当然x,y≤1,否则没有意义 默认步长x=0.01,y=0.1,就是表示每次前进1%和10% 在移动滑块的时候会触发callback |