matlab GUI学习笔记4 如何添加并设置下拉菜单以及GUI解决不用直接用load的问题

 

(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();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值