zoukankan      html  css  js  c++  java
  • 一种较方便的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

  • 相关阅读:
    mysql 重置root 账户密码
    Applicationpoolidentity 好有趣哦
    类模板的困扰 LNK2019 (转)
    C++中定义比较函数的三种方法
    Spring的AOP,Struts2的拦截器(Interceptor),以及springMVC的(interceptor)
    MyBatis与Hibernate总结篇
    Java中的回调
    闲来重写一下快速排序
    【lucene】一个简单的招聘网站的建立
    【Lucene】小谈lucene的BooleanQuery查询对象
  • 原文地址:https://www.cnblogs.com/Dontstop/p/5379863.html
Copyright © 2011-2022 走看看