MATLAB GUI设计之弹出式菜单的使用

弹出式菜单在MATLAB GUI设计中常常出现。比如串口助手、绘制图形等经常见到弹出式菜单如下图所示:
MATLAB GUI设计之弹出式菜单的使用_第1张图片

使用方法:
一、准备工作

1、从MATLAB GUIDE中拖出一个弹出式菜单
MATLAB GUI设计之弹出式菜单的使用_第2张图片

2、双击这个弹出式菜单,出现检查器:
MATLAB GUI设计之弹出式菜单的使用_第3张图片
将注意力放在途中红线位置处,点击string处的图标将其中的内容修改为你想要显示的内容:
MATLAB GUI设计之弹出式菜单的使用_第4张图片
tag处的内容修改为自己想管这个弹出式菜单的名字。这里就按照原来的名字popupmenu5来说明。

二、在GUI中如何调用
在你想调用这个弹出式菜单中的内容的时候,使用函数

get(handles.popupmenu5, 'value')

其中,handles是句柄,而popupmenu5就是表明这个弹出式菜单的唯一名称,通过这句话,就能得到你选择的是弹出式菜单的第几个值。

强调:这里得到的值是你选择的第几个值,比如我选择上图所示的second,那么这句函数得到的值就是2.

可以理解为这个弹出式菜单是一个“数组”,你选择的是第几个元素,那么上述的函数返回的就是这个元素在这个“数组”中所在的位置。

那么,如何才能得到你看到的值作为你要获取的值呢:

你可做如下的操作,比如我要做一个选择波特率的弹出式菜单;

那么我可以事先做一个这样的波特率数组:

rates = [2400 4800 9600 115200 460800];

然后调用get函数,获取所在的位置

baud_rate = rates(get(handles.popupmenu5, 'value'));

如此操作之后,你在GUI界面上看到的波特率是多少,你实际获得的波特率也会是多少,然而我们并不是直接读取的string里面的值,而是通过获取元素所在弹出式菜单中的位置,然后从我们设定的数组中读出其真实的值,不失为一个巧妙的办法!


修改于2018年12月23日
感谢weixin_43868829, Daniel__Shi同学指出博客中的错误,现已修正,欢迎大家交流~~~

你可能感兴趣的:(matlab,gui,matlab)