MATLAB GUI是一种图形窗口,可以向其中添加用户能操作的组件,可根据需要选择、调整和放置组件。使用回调函数,可以使组件在用户单击或通过按键操作时执行相应的操作。
创建MATLAB GUI主要有以下3种方法。
(1)使用GUIDE(GUI开发环境)。
(2)以交互方式,使用App设计工具(App Designer)。
(3)以编程方式,使用MATLAB函数。
这些方法中的每一种都提供不同的工作流程和一组略有不同的功能。
(1)使用GUIDE创建GUI。
该方法从拖曳图形布局编辑器中的组件进行布置开始。使用GUIDE创建一个关联的代码文件,其中包含GUI及其组件的回调函数。GUIDE在保存图形(.fig文件)的同时会自动保存代码文件,打开其中一个时也会自动打开另一个以运行GUI。
该方法已经被MATLAB建议停用,但目前仍能使用。
(2)使用App设计工具创建GUI。
App设计工具是MATLAB R2016a中引入的丰富的交互环境,是在MATLAB中构建应用程序的推荐环境。它包括一个完全集成的MATLAB编辑器。布局视图和代码视图紧密相连,因此在一个视图中所做的更改会立即影响另一个视图。与GUIDE相比,App设计工具提供了更多的交互式组件,包括日期选择器、树和图像;还有一些组件,如网格布局管理器,可让应用程序实现自动检测并适应屏幕尺寸的变化。
App设计工具是MATLAB推出的替代GUIDE的一款产品。如果想学习App设计工具,可以参考《MATLAB App Designer从入门到实践》一书。
(3)使用MATLAB函数创建GUI。
可以完全使用MATLAB函数对应用程序的布局和行为进行编码。利用这种方法,可以使用uifigure或figure函数创建一个图形作为UI(用户界面)的容器,然后以编程方式向其中添加组件。创建代码文件定义所有组件的属性和行为;当用户执行文件时,它会创建一个图窗,用组件填充它,并处理用户交互命令。与使用GUIDE和App设计工具创建GUI相比,以纯代码方式创建的GUI对各版本的MATLAB适用性比较好,这是它的一个优势。此外,MATLAB软件还提供简化标准对话框(例如发出警告或打开和保存文件的对话框)创建的功能。
本书主要介绍以基于uifigure函数和figure函数的编程方式创建GUI、进行交互及简化标准对话框的创建等内容。
由于笔者水平有限,书中难免存在一些不足之处,欢迎广大读者对书中内容提出宝贵意见和建议,以便笔者进行修改,笔者联系邮箱:yuanvmin@hotmail.com。
苑伟民
2025年1月