MATLAB GUI编程

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

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

(2)GUI控件(GUI Components):
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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选项

在这里插入图片描述

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

在这里插入图片描述
3.运行GUI:

点击▷按钮

在这里插入图片描述
4.保存GUI:

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

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

二.相关函数

将脚本放在<name>.m文件中

在这里插入图片描述
1.打开函数(OpeningFcn):

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

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

#实例:
function pushbutton1_Callback(<hObject>,<eventdata>,<handles>)
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

在这里插入图片描述
3.输出函数(OutputFcn):

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

4.创建函数(CreateFcn):

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

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

#实例:
function untitled1_OpeningFcn(<hObject>,<eventdata>,<handles>,<varargin>)
a = 1
handles.MyData = a
end

function pushbutton1_Callback(<hObject>,<eventdata>,<handles>)
a = handles.MyData
end

三.外部部署

deploytool [<proj_name>]:打开编译向导
  #参数说明:
    proj_name:指定项目;如果不指定该参数,需要在编译向导中选择
      #官方文档:opens the appropriate compiler app with the project preloaded
deploytool -<option> <proj_name>:编译指定项目
  #参数说明:
    proj_name:指定项目
    option:可为bulid/package(注意该参数前要有"-")
      bulid:编译指定项目
        #不会生成安装程序
        #官方文档:runs the appropriate compiler app to build the specified project.
      package:编译并打包指定项目
        #会生成安装程序
        #官方文档:runs the appropriate compiler app to build and package the specified project
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值