问题引入
最近发现matlab的GUI界面马上就要被取消了,取而代之matlab官方弄了一个叫App Designer的东西,打开看了一下,发现截面还挺好看的,比原本的GUI好友好多了。所以做个笔记,与君共勉。
1. Matlab App Designer 的底层框架
看了一眼这个小功能提供的Demo的底层程序,发现竟然用了类的概念,这在Matlab里面还真是第一次见到。
2. APPDesigner几个基本的实现步骤
2.1 界面实现(VIEW)
在APP Designer中这是最简单的一步,说白了就是给程序搭一个空壳子,把程序将会用到的基本组件都摆放好。APPD的一个优点是,可以自动把这些组件的位置,大小和基本属性都通过可视化的交互操作提前设置好,省去了很多调试位置的时间。
但是需要需要注意的是,APPD中不允许用户改变VIEW界面实现的代码。(当然也不需要改变,因为可以做的外观改变都可以在这一步中直接通过交互式操作提前达到目的。在这个步骤中,需要注意的点大概可概括为以下几个层次:
2.1.1 结构层次
APPD中提供了非常清晰的组件结构体系,用来清楚地区分父对象和子对象,并且操作方法也非常简单,只要在当前结构层次下直接拖动组件即可达到目的。在APPD界面的最右侧可以看到组件浏览器,可以看到所有的结构层次体系。
2.1.2 常用对话框
- errordlg
- msgbox
- warndlg
- helpdlg
- dlg
dlg 作为最原始的对话框,简直原始地不能再原始了。调用命令为dialog()。实际上dlg就是一个figure去掉menubar以后的样子,即fig=figure();set(fig,'MenuBar','none')。如果想要在dlg上显示文字,则还需要在dlg上面添加一个“子图像句柄”,并且设置其style为text,即
fig = figure();
set(fig, 'MenuBar', 'none');
dlg = uicontrol('parent', fig, 'style', 'text');
set(dlg, ' ', '内容');
2.2 函数实现 (Model)
函数是为外部的空壳赋予内在内容的灵魂所在。函数分为两类:回调函数和辅助函数。其中辅助函数是中间处理的过程,回调函数则是空值用户与VIEW中的组件进行交互的函数。值得注意的是,所有的回调函数、辅助函数以及类成员属性,都会在APPD的最左侧代码浏览器中显示出来;特别的,如果希望删除回调函数,只能通过代码浏览器进行删除。
2.2.1 回调函数中标准形式:
- xxxChangedFcn
这类回调函数表示:在组件受到操作后时,用户希望执行的一系列操作。主要包括赋值、画图等。
- ValueChangingFcn
这类回调函数表示:在组件受到操作的同时,用户希望执行的一系列操作。一般用于slider和XX这类可以连续调节值的APPD控件。很显然,
- Table操作
在APPD中非常重要一类数据结构就是matlab中的table结构,可以直接应用于APPD中的UITable组件显示,调用方法为app.UITable.Data = tabelname。所以在APPD中使用UITable之间我们应当先去了解以下Matlab中table结构的一些定义方法和基本操作。
- 定义方法:
可以直接通过newtable = table()定义一个空的table结构。对table 的赋值可以且仅可以通过tablename(i,j) = cellelement的命令实现,也就是说对table只能通过元胞数组进行赋值操作。
table_column1 = {
'name01','name02','name03'}; %元胞字符串
table_column2 = {
12,23,55}

本文介绍了Matlab App Designer的使用,包括它的底层框架、基本实现步骤,如界面设计和函数实现,以及程序设计的进阶知识点,如组件属性、回调函数、table操作和程序技巧,旨在帮助用户更好地理解和应用App Designer。
2万+

被折叠的 条评论
为什么被折叠?



