大家好,又见面了,我是你们的朋友全栈君。
弹出式菜单在MATLAB GUI设计中常常出现。比如串口助手、绘制图形等经常见到弹出式菜单如下图所示:
使用方法: 一、准备工作
1、从MATLAB GUIDE中拖出一个弹出式菜单
2、双击这个弹出式菜单,出现检查器:
将注意力放在途中红线位置处,点击string处的图标将其中的内容修改为你想要显示的内容:
tag处的内容修改为自己想管这个弹出式菜单的名字。这里就按照原来的名字popupmenu5来说明。
二、在GUI中如何调用 在你想调用这个弹出式菜单中的内容的时候,使用函数
代码语言:javascript复制get(handles.popupmenu5, 'value')
其中,handles是句柄,而popupmenu5就是表明这个弹出式菜单的唯一名称,通过这句话,就能得到你选择的是弹出式菜单的第几个值。
代码语言:javascript复制强调:这里得到的值是你选择的第几个值,比如我选择上图所示的second,那么这句函数得到的值就是2.
可以理解为这个弹出式菜单是一个“数组”,你选择的是第几个元素,那么上述的函数返回的就是这个元素在这个“数组”中所在的位置。
那么,如何才能得到你看到的值作为你要获取的值呢:
你可做如下的操作,比如我要做一个选择波特率的弹出式菜单;
那么我可以事先做一个这样的波特率数组:
代码语言:javascript复制rates = [2400 4800 9600 115200 460800];
然后调用get函数,获取所在的位置
代码语言:javascript复制baud_rate = rates(get(handles.popupmenu5, 'value'));
如此操作之后,你在GUI界面上看到的波特率是多少,你实际获得的波特率也会是多少,然而我们并不是直接读取的string里面的值,而是通过获取元素所在弹出式菜单中的位置,然后从我们设定的数组中读出其真实的值,不失为一个巧妙的办法!
修改于2018年12月23日 感谢weixin_43868829, Daniel__Shi同学指出博客中的错误,现已修正,欢迎大家交流~~~
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133412.html原文链接:https://javaforall.cn