52matlab技术网站,matlab教程,matlab安装教程,matlab下载

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8146|回复: 0
打印 上一主题 下一主题

一个实例搞定appdesigner

[复制链接]

125

主题

209

帖子

3070

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3070
跳转到指定楼层
楼主
发表于 2018-3-29 18:07:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
App Designer简介及安装
      Matworks自Matlab R2016a以后推出了GUIDE的替代产品:App Designer,这是Matlab顺应Web的潮流,在图形界面系统开始转向面向对象系统之后(Matlab R2014a)的又一个重要阶段产品,它便于用户设计更加美观的图形界面。使用App Designer需要安装Matlab R2016a以后的版本,或者在安装了Matlab R2014b到Matlab R2015b之间的版本上从Matworks官网上下载AppDesigner安装包进行安装。
打开App Designer工作平台
      新建一个AppDesigner的方法同新建GUIDE的方法类似,可以在命令窗口输入appdesigner,也可以在工具栏依次操作Home->New->App->App Designer;打开已有文件(其中文件后缀为.mlapp)的方法包括在当前路径下直接输入appdesigner AppName.mlapp,或者在打开的appdesigner上点击open->选择AppName.mlapp。
App Designer应用实例
      对比前面写到用GUIDE设计的“UDP通信及信号的时频分析”实例,下面用App Designer设计同样的功能界面。与GUIDE工程不同,App Designer工程可以只包含一个后缀为.mlapp的文件,其中包含GUI界面和code。对应GUI的画布界面图1所示:

                         图1
     对比GUIDE,App Designer增加了和工业应用相关的控件:比如仪表盘、旋钮、开关、指示灯,另外相关控件属性的选择和修改更加友好。
在对应类定义代码的CodeView如图2所示:

                            图2
GUIDEhandles对应结构体成员变量可容易定义不同,App Designer中的成员变量需要先行声明,如程序中的类成员变量getDataTimer
   properties (Access = private)
       getDataTimer timer % Description
   end
这里Access可以选择privatepublic,其性能跟c++中的共有和私有成员变量相似,可以根据具体需要进行设置。另外这里的声明需要指定成员变量的属性,这里getDataTimer的属性为timer,那么在赋值给getDataTimer赋值的时候,也必须指定其值的类型是timer,否则就会报错。
       App Designer中的成员函数定义跟成员变量的定义相同,其默认形参包括app和event,因此本文中用定时器控制函数调用时包含3个参数,如果成员函数形参小于3则会报错。
通常在显示界面时需要初始化一些值,比如前面GUIDE设计的GUI中将左上角的Matlab logo替换成自定义图片,在App Designer中可以在Callback那里添加startupFcn类型的函数,并在对应的函数里进行操作。目前StartupFcn函数中的注释部分不可用,原因是App Designer和GUIDE对javax Swing的支持不一致,暂时还没有弄明白(后续再研究)。
析构函数的作用是关闭GUI的Figure时调用,该函数是点击GUI的关闭窗口按钮时的回调函数,于是GUI的窗口被关闭将触发函数。在App Designer中可以在Callback那里添加CloseRequestFcn类型的函数,本文中定义的析构函数如下:
functionQuitButtonPushed(app, event)
       echoudp('off');%close udp
       Timer = timerfind;% look for timer
       if ~isempty(Timer)%if find timer,stop and delete it
          stop(Timer);
           delete(Timer);
       end
       delete(app)
end

图3和图4分别对应GUIDE和App Designer生成的界面:

                              图3

                              图4
其中对应的App Designer工程可下载附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|52matlab技术网站 ( 粤ICP备14005920号-5 )

GMT+8, 2024-11-22 18:35 , Processed in 0.061157 second(s), 21 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表