本简介探讨了利用MATLAB开展软件界面设计的方法和技巧,展示了如何通过该平台创建高效、用户友好的图形用户界面。
想用MATLAB制作界面吗?这是一份很好的资料。
**GUIDE**
**用户图形界面在MATLAB中的应用**
### 引言
GUidE 是 MATLAB 中的一个可视化编程环境,用于创建需要持续数据输入的程序。它具备所有可视化的基础特性,如 Visual Basic 或 Visual C++ 等。
### 开始使用
可以通过以下两种方式开始项目:
1. 在命令窗口中执行下面的指令:
```
guide
```
2. 单击 MATLAB 工具栏中的图标启动 GUidE。
在启动后会弹出对话框,提供如下选项:
- **空白 GUI 默认**
这个选项提供了新的设计界面,在此可以绘制程序。
- **带有 Uicontrols 的 GUI**
此示例计算给定密度和体积的物体质量,并支持两种不同的单位系统。可执行该示例并获取结果。
- **带 Axes 和菜单的 GUI**
示例中包含一个文件菜单,提供打开、打印和关闭选项。界面内有一个弹出式菜单(Popup menu)、一个命令按钮(push button)及一个坐标轴对象(Axes),通过选择下拉菜单中的六个可选之一并点击相应的按钮来运行程序。
- **模态问题对话框**
显示标准对话框,包含一个小图像、标签和两个“是”、“否”的按钮。根据所按的按钮不同,GUI 将返回选定文本(字符序列 Yes 或 No)。
选择第一个选项:“空白 GUI”,我们将看到以下组件:
- **设计区域**:这是用来放置各种控件的地方。
GUIDE 提供了几个工具来帮助设计用户界面:
1. 对齐对象
2. 菜单编辑器
3. 标签顺序编辑器
4. M 文件编辑器
5. 对象属性查看器
6. 对象浏览器
为了获得组件面板中每个元素的标签,执行 `File > Preferences` 并选择 Show names in component palette。然后将显示如下界面。
### 组件描述和属性设置
在设计环境中,可以通过右键点击来访问各个组件的选项,并且可以查看回调函数(View Callbacks),这会打开与当前编辑元素相关的 `.m` 文件并定位到对应的子程序部分。
当添加新的图形用户界面元件时,MATLAB 会在相应的 `.m` 文件中自动生成代码。要运行一个 GUI 界面,只需在命令窗口输入文件名 (假设为 `curso.fig`) 并执行即可:
```
curso
```
或者右键点击 `.m` 文件并选择 Run。
### 数据管理
所有元素的属性值(颜色、数值等)和程序中临时变量都存储在一个结构体中,通过一个统一标识符来访问这些数据。例如,在之前的示例中,该标识符为 `handles`。使用此标识符获取或设置特定控件的数据。
### 示例代码
创建演示界面:
```matlab
function presentation
% 作者:Diego Barragan Guerrero
clear, clc cla, close all;
figdiag = figure(Units, Pixels, ...
Position, [0.0725 0.0725 0.57 0.57],...
MenuBar,none,...
Color,[1 1 1]);
axes(Units,Normalized,...
Position,[0,0,1,1]);
% 屏幕中心对齐
scrs = get(0,ScreenSize);
posact=get(gcf,Position);
xr=scrs(3)-posact(3);
xp=round(xr/2);
yr=scrs(4)-posact(4);
yp=round(yr/2);
set(gcf, Position,[xp yp posact(3) posact(4)]);
% 加载背景图像
[x,map]=imread(circuit.jpg);
image(x),colormap(map), axis off, hold on;
text(50, 50,Presentacion del Programa, ...
FontName,Arial,...
FontSize,25,...
FontAngle,italic,...
fontWeight,bold,...
Color,[1 1 0]);
% 编程者姓名
text(50,-30,por: Diego Barragan Guerrero,...
FontName,Comic Sans MS,...
fontangle,italic,...
fontWeight,bold,...
FontSize,14,...
color,[.7 .2 .8]);
```
### 运行演示
要运行上述代码,按 F5 键即可。此外还可以使用函数 `presen` 来显示图像,并设定展示时间:
```matlab
function presen(filename, varargin)
if nargin == 1
imread (filename);
elseif (nargin ==2) & ischar(varargin(1))
fmt