Matlab第六课:图形界面(GUI)程序设计
目标:
- Graphical User Interface
一、MATLAB GUI Programs
开始完成一个GUI程序:
1.建立一个文件夹,存储程序
2.使用 guide 命令在命令行创建一个matlab GUI 界面
3.可以拖动组件,创建GUI
相关组件的说明:
4.点击运行,保存,就生成了一个GUI
5.调整组件的排列,第一种是在第三部的界面直接拖动组件,第二种如下:
- 选中要排列的组件
- 点击菜单栏工具,对齐对象,到达如下界面进行设置
调整后的GUI如下所示:
6.在第三步的界面双击组件,调出检查器,更改组件的属性
上面是我们操作matlab简单的创建了一个图形界面,生成一个GUI包括两部分,一是:.fig文件存放的是GUI界面。二是:.m文件存放的是组件相关代码,并可以在代码中进行操作,为GUI添加功能。
首先:看看.m文件代码的结构
在untitled_OpeningFcn()函数中,添加代码,这个函数是在程序运行时,就开始执行。运行代码,得到如下的GUI
当我们将上述代码添加到pushbutton1_Callback()中时,当我们点击按钮1,才会画图。可以自行运行程序,效果和上图相同。
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
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时,如下:
我们需要分析组件的handle:
如果,不对其进行限制,图像会显示在第二个axes上,我们限制其显示在第一个axes上。
修改代码如下:
set()和get(): 获取属性与创建属性
创建一个text组件和一个slider组件。当滑动slider时,字符串更改为test
Use Handles to Store Variables :
Compiling the GUI Program:
将我们的程序转化为.exe文件,让程序在别的电脑上依然可以执行。
deploytool:打包成.exe