0%

matlab GUI入门

​ Matlab GUI为图形用户界面,可以理解为相当于做一个软件,将输入输出函数操作通过交互界面表现出来,下面简单讲述一些Matlab GUI入门知识。

创建新的GUI界面

​ GUI系统包含两种文件,一种是.fig文件,用于设计页面,另一种是.m文件,用来存放控件操作。

创建.fig文件

  1. 打开Matlab,在命令行窗口中输入

    1
    guide

    命令行窗口中输入GUI

  2. 回车,弹出GUIDE快速入门弹窗;

  3. 选中默认的 Blank GUI (Default) ,点击确定新建GUI,自动生成新的.fig页面文件;

  4. 完成GUI的.fig文件的新建。

    创建.fig文件

    ​ 保存.fig文件时,会自动生成相对应的.m的文件。

​ 现在,一个GUI界面已经搭建完成,你可以在.fig文件里增加修改控件、设计页面,在.m文件里编写逻辑代码。

.fig的页面设计

控件

​ 左侧的控件栏里面直接可通过拖拽放入控件,下面简单介绍一下课设里几种常用的控件。

按钮

双击拖拽出来的按钮,可进入按钮的检查器,在检查器里设置按钮的属性。

​ 检查器中比较重要的几个属性:

  • | Tag | 控件的名称(不重名),.m通过Tag来唯一寻找该控件,建议将需调用的控件换成有意义的名字,方便调用。 |
    | —————— | —————————————————————————————— |
    | String | 控件里面的文字 |
    | FontSize | 控件里面的文字的字体大小 |
    | Visible | 控件初始是否可见 |
    | Callback | 调用函数(如是按钮的话,则点击按钮就会调用该函数),双击中间的书写按钮matlab会自动跳转到相应的.m中的调用函数的位置,方便书写 |

可编辑文本

可编辑文本,可通过交互界面来进行编辑,当然也可在检查器中String里直接设置其初始值,常用于参数输入

静态文本

静态文本,不可通过交互界面来进行编辑,可设置String初始文本,也可通过.m修改,用于描述文字和输出

坐标区

坐标区,用于画图(动画、坐标图等)。

面板

面板,可将各控件组合成一个集合,方便移动,显示更清晰。

工具

​ 介绍两个我觉得用得到的。

对齐对象

​ 用于对齐控件,使页面整齐美观。

​ 例如,随意拖入几个文本,选中全部,设置好横纵对齐分布格式,点击应用。

​ 瞬间就整齐了。

运行

​ 可方便地查看页面显示。

.m的文件编写

查看修改控件属性

​ 应用广泛,比如检测输入框输入的内容和输出到输出的静态文本框。

检测输入框输入的内容:

1
x = str2num(get(handles.Tagname, 'string')); % 从Tag属性为Tagname的String属性中获取x的string格式,再转为num(即在Tagname中输入的x)

输出到输出的静态文本框:

1
set(handles.Tagname, 'string', num2str(y)); % 将参数y先从num转为string,再设置到Tag属性为Tagname的String属性中(即在Tagname中显示y)

页面跳转

1
2
3
h = gcf;	% 本页面(不需关闭本页面此句省略)
pagename; % 打开名字为pagename的页面
close(h); % 关闭本页面(不需关闭本页面此句省略)

页面之间传参

​ 既然有跳转,那就免不了传参,最简单的方法就是设置全局变量(适用于小系统)。

​ 在用到该全局变量的函数开头都声明该全局变量即可。

1
global x

画图

​ 例如绘制一个三角函数

先在界面放置好axes控件,这里命名为axes1;

1
2
3
4
X = 0:0.01:pi; % 设置x的范围(起始值:采样间隔:终止值)
Y = sin(X); % 设置x-y的对应函数
axes(handles.axes1); % 选则坐标区(axes)axes1
plot(X, Y, 'b'); % 绘制X-Y(X轴变量,Y轴变量,点的颜色)