MATLAB GUI编程

一.图形用户界面(GUI)
1.介绍:

又称图形用户接口,英文名为Graphical User Interface,简称GUI
是指采用图形方式显示的计算机操作用户界面

2.设计GUI
(1)进入设计视图:

>> guide
#结果见下图,进入引导界面

MATLAB GUI编程_第1张图片

选择Blank GUI(Default),创建1个空白GUI

MATLAB GUI编程_第2张图片

然后在空白GUI上进行GUI设计

(2)GUI控件(GUI Components):

进入GUI设计界面的 File栏-Preferences选项-GUIDE栏
勾选 Show names in component palette选择
选择OK/Apply后在左侧的元件栏中会同时显示控件名

MATLAB GUI编程_第3张图片
MATLAB GUI编程_第4张图片

Push Button:按钮
Slider:滚动条
Radio Button:单选按钮
Check Box:复选框
Edit Text:输入框
Static Text:静态文本框
Pop-up Menu:弹出式菜单
Listbox:选择栏
Toggle Button:开关按钮(双态按钮)
Table:表单
Axes:坐标区(在其中进行绘图)
Panel:面板容器
Button Group:按钮组
ActiveX Control:ActiveX控件

(3)相关操作:

#排列控件:
1.手动排列
2.自动排列:选择 Tools栏-Align Objects选项

MATLAB GUI编程_第5张图片

显示当前控件的属性:View栏-Property Inspector
可在该栏中修改属性

MATLAB GUI编程_第6张图片
3.运行GUI:

点击▷按钮

MATLAB GUI编程_第7张图片
4.保存GUI:

1.要求运行时如果没有保存会询问是否保存
2.可以手动保存:File栏-Save选项/Save As选项

1个GUI包括2个文件:.fig和.m
  #.fig文件存储界面设计信息;.m文件存储程式码,即要运行的程序代码
  #参数说明:
    name:GUI的名字

二.相关函数

将脚本放在.m文件中

MATLAB GUI编程_第8张图片
1.打开函数(OpeningFcn):

function _OpeningFcn(,,,)
%该函数无返回值,在打开文件时触发执行,主要用于进行初始化
%name:绑定的.m文件的名字
%hObject:Figure的句柄
%eventdata:保留,在未来版本中将被定义
%handles:包括各对象句柄和用户数据的结构体
%varargin:用于接收参数的可变长的cell array

%实例:
function untitled1_OpeningFcn(,,,)
handles.peaks = peaks(35);
handles.membrane = membrane;
[x,y] = meshgrid(-8 : .5 : 8);
r = sqrt(x .^ 2 + y .^ 2) + eps;
sinc = sin(r) ./ r;
handles.sinc = sinc;
handles.current_data = handles.peaks;
surf(handles.current_data)
handles.output=hObject;
guidata(hObject,handles)
end

2.回调函数(Callback):

function _Callback(,,)
%:在控件被点击时触发执行
%comp:绑定的控件的名字
%hObject:comp的句柄
%eventdata:保留,在未来版本中将被定义
%handles:包括各对象句柄和用户数据的结构体

#实例:
function pushbutton1_Callback(,,)
handles.peaks = peaks(35);
handles.membrane = membrane;
[x,y] = meshgrid(-8 : .5 : 8);
r = sqrt(x .^ 2 + y .^ 2) + eps;
sinc = sin(r) ./ r;
handles.sinc = sinc;
handles.current_data = handles.peaks;
surf(handles.current_data)#如果有多个Axes,默认画在最后1个Axes上
end

MATLAB GUI编程_第9张图片
3.输出函数(OutputFcn):

function varargout = _OutputFcn(,,)
%最后执行的函数,主要用于生成输出值
%name:绑定的.m文件的名字
%varargout:用于接收返回值的可变长的cell array
%hObject:figure的句柄
%eventdata:保留,在未来版本中将被定义
%handles:包括各对象句柄和用户数据的结构体

4.创建函数(CreateFcn):

5.利用handles参数存储变量:

function中的变量是局部变量,如果要在别的函数中调用,就需要利用handles进行传递

#实例:
function untitled1_OpeningFcn(,,,)
a = 1
handles.MyData = a
end

function pushbutton1_Callback(,,)
a = handles.MyData
end

三.外部部署

deploytool []:打开编译向导
  #参数说明:
    proj_name:指定项目;如果不指定该参数,需要在编译向导中选择
      #官方文档:opens the appropriate compiler app with the project preloaded
deploytool -

你可能感兴趣的:(MATLAB)