(1)输入“guide”新建一个GUI界面,在界面的左侧选择“弹出式菜单”添加到面板上
(2)选择需要编辑的下拉菜单,右键选择或双击打开“属性检查器”,在String中编辑下拉菜单内容。
(3)要实现下拉菜单的功能,需要对callback进行编辑,下拉菜单的tag一般默认为popupmenu1。但是需要注意的是,若点击pushbutton后需获取选择的内容,那么要把这段内容添加在pushbutton的callback里。
vall = get(handles.popupmenu1,'value');
switch vall
case 2
m = load('ping1.mat');
n = m.echo();
case 3
m = load('zhui1.mat');
n = m.echo();
case 4
m = load('duo1.mat');
n = m.echo();
end
需要注意的是,因为这里我留了一个可在框里显示的“选择类型”,往下才是我真正用到的类型,所以case要从2开始。case 1是选择类型。
(4)在使用下拉菜单的时候发现一个另外的问题,就是GUI界面不能直接用load加载数据,load加载出来的结果是一个struct结构值,并不是n*m的矩阵值。
查找之后发现可以使用下面这段语句,但是这段语句是弹出选择文件的对话框,然后将mat文件读取为适合GUI的数据格式,虽然在这里我没有用到但是还是一个蛮常用的功能,所以也在此记录下来。
filename = uigetfile('ping1.mat');
echo = cell2mat(struct2cell(load(filename)));
最后使用的方法就是下面这段代码,先load需要的.mat文件,得到STRUCT结构后,读取结构体的内容,此时m就是读取结构的句柄。
m = load('ping1.mat');
n = m.echo();