博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一种较方便的MATLAB GUI中popupmenu中选取值得获得方法
阅读量:4678 次
发布时间:2019-06-09

本文共 1140 字,大约阅读时间需要 3 分钟。

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  转自:

还有一种选取方法,私以为较复杂,此处附上供参考

首先在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

转载于:https://www.cnblogs.com/Dontstop/p/5379863.html

你可能感兴趣的文章
libusb开发指南
查看>>
SAS基础 -- 逻辑库不存在问题解决
查看>>
Servlet监听器统计在线人数
查看>>
第2章 数字之魅——寻找发帖“水王”
查看>>
eclipse jsp html 格式化 format
查看>>
关于手机端IOS系统微信中虚拟键盘遮挡input输入框问题的解决方案 草稿
查看>>
css3背景、边框、和补丁相关属性 (二)
查看>>
Python--小功能应用
查看>>
别做操之过急的”无效将军”,做实实在在的”日拱一卒”
查看>>
js去除范围内所有标签并显示指定字符串
查看>>
结对项目进度2
查看>>
git + git flow 的简单介绍
查看>>
如果我们想要交换两个数字,就可以使用位运算
查看>>
求给出第 K个 N位二进制数,该二进制数不得有相邻的“1”
查看>>
P1059 明明的随机数【去重排序】
查看>>
HDU 1060 Leftmost Digit【log10/求N^N的最高位数字是多少】
查看>>
tomcat配置文件web.xml与server.xml解析--重要
查看>>
【C语言】《C Primer Plus》递归:以二进制形式输出整数
查看>>
使用框架的——好处
查看>>
如此大量的代码,但每个类里面的代码却不显得特别多,原因。。。。。。。。。。。。...
查看>>