【matlab】一种较方便的MATLAB GUI中popupmenu中选取值得获得方法
2017-01-17 19:55
489 查看
一种较方便的MATLAB GUI中popupmenu中选取值得获得方法
matlab的GUI编程中Popupmenu是比较常用的一种控件,如何将popupmenu的选取值读取出来?其中有点陷阱需要注意。正确的方法应该如下:list=get(handles.popupmenu1,'String');
val1=get(handles.popupmenu1,'Value');
selectedval=str2num(list{val1});
其中的popupmenu1是一个下拉选择框控件。list获取该选择框的全部内容值,是一个列表,例如可能是如下形式的一个列表。
0.01
0.001
0.00001
0.000001
val1得到的是该选择框的选取值的索引,也就是被选取值的位置。假如val1=1,也就是说选择的是列表中第一个值。
list{val1}就获取了上面列表中第一个元素的值,注意这个值表现为一个字符串,也就是'0.01'。
再用str2num()函数将它转换为double值。就得到了数值0.01。
这样可以获得popupmenu1中被选取的值。
注意,上面使用的是list{val1}来获取字符串,而使用list(val1)来取值的时候,可以取得值'0.01',但是使用str2num()函数的时候出错。不知道问题是什么,可能list本身是cell类型,从而导致这个结果,这一点需要调查。
做了个简单的界面测试了一下,可行!
转自:http://blog.sina.com.cn/s/blog_6f81de820100x01n.html 转自:http://hi.baidu.com/zhangrobin/blog/item/d85dd3213756cb7a35a80f4d.html
还有一种选取方法,私以为较复杂,此处附上供参考
首先在popupmenu的string中比分3行写上a,b,c;保存
在popupmenu的回调函数中写上如下代码:
val=get(handles.popupmenu,'Value');
switch val
case 1
x=1
set(handles.popupmenu,'String','a');
case 2
x=2
set(handles.popupmenu,'String',b');
case 3
x=3
set(handles.popupmenu,'String','c');
default
msgbox('出错','warn');
end
转自:http://zhidao.baidu.com/link?url=0c4HEs1J4f_d9q6sRkaxsKCg25fpmn_7ylHpBHRYTvurAy8wZepYQI-poeKxFeHaosLt819gdS_j8uFccbd8ta
相关文章推荐
- vb.net原创的一种跨页面页面传值得另类BT方法
- MATLAB中的GUI程序:光标线选取曲线极大值
- 3d图形渲染中表层GUI制作的一种方法
- OpenCV2.2调用highgui函数总是出错,一种可能的解决方法
- 一种较方便在Android中添加开机自启动的守护进程的方法
- 介绍一种在MATLAB中获取股市数据的方法
- 一种注入进程,获得完全操控的方法之一
- Mac OS X:一种从APP中获得PKG的方法
- 去掉MATLAB编译产生的可执行图形界面程序运行时的DOS黑窗口的一种方法
- Mac OS X:一种从APP中获得PKG的方法
- 一种注入进程,获得完全操控的方法之一[先贴过来,等下研究一下,看起来不错]
- 一种简单方便的用户权限管理方法--使用菜单来管理用户
- 一种注入进程,获得完全操控的方法之二
- eclipse-SDK-3.2 安装GUI开发环境 VE 的一种方法
- 一种简单方便的用户权限管理方法--使用菜单来管理用户权限
- struts中获得URL中变量值得方法
- 一种简单方便的权限管理方法--使用菜单
- Delta3d 2.0中 鼠标选取物体的示例代码另外一种方法
- 一种快速为结构体赋值得方法
- 一种快速为结构体赋值得方法