一、创建GUIDE App

STEP1:点击【主页】-【新建】-【APP】-【GUIDE】,选择Blank GUI

STEP2:Blank GUI的.m文件包含三个默认函数:

1、initialization code - DO NOT EDIT:
function varargout = untitled(varargin)2、Executes just before untitled is made visible:
GUI能自动执行的代码只有这里,剩下的codes都要触发(e.g. 按下按钮、选择选项)才能执行
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% 包含两行重要语句:
% (1)创建了一个句柄handles:
handles.output = hObject;
....% 全局变量,在这里定义
e.g.handles.variable_name = '';
....% (2)更新handeles:
guidata(hObject, handles);3、%--- GUIDE结束后,命令行可以输出一些语句:
function varargout = untitled_OutputFcn(hObject, eventdata, handles)

二、添加控件

STEP3:从GUI界面左侧工具栏,选中想要的控件,然后拖动到GUI面板里。

控件上显示的文字内容和字体大小颜色等属性,可以通过【右键】该控件,打开【属性检查器】进行修改。

四、增加控件功能

1、按钮,pushbutton

添加【按钮】控件后,会出现这个按钮的callback func。在【按下button1】之后,会执行该函数的内容。

function pushbutton1_Callback(hObject, eventdata, handles)
disp('我按下了button1\n');

2、单选按钮,radiobutton

e.g. 首先,在initializztion函数中定义一个全局变量table = ‘’。
再在这里改变该变量的值:当radiobutton1被按下的时候,table被赋值为’1’

function radiobutton1_Callback(hObject, eventdata, handles)
handles.table = '1';% 与radiobutton2形成互斥的效果:
set(handles.radiobutton2,'value',0);% 幅值相当于改变了handles的属性,所以这里要更新一下:
guidata(hObject, handles);

3、静态文本

没有回调方程,没什么可操作的。

4、动态文本,edit

e.g. 首先,在initializztion函数中定义一个全局变量text = ‘’。
用户在动态文本框中输入数值,通过回调函数,读取这个值,为变量text赋值。

function edit1_Callback(hObject, eventdata, handles)
handles.text = get(hObject, 'String');
% 上一句相当于改变了handles的属性,所以这里要更新一下:
guidata(hObject, handles);

五、在GUI各个控件中传递全局变量

方法一

% 1、在initial函数中定义:
handles.variable_name = '0000';% 2、在别的callback function中获取全局变量的值:
var = handles.variable_name;% 3、更新全局变量的值:
var = '5678';
guidata(hObject, handles);

方法二

% 1、在initial函数中定义:
global variable_name;
variable_name = '';% 2、在别的callback function中获取全局变量的值:
var = handles.variable_name;% 3、更新全局变量的值:
var = '5678';
guidata(hObject, handles);

方法三

% 1、利用setappdata函数来设置全局变量
setappdata(handles.pushbutton1,'variable_name','1234');% 2、在别的callback function中获取全局变量的值:
var = getappdata(handles.pushbutton1,'variable_name');

方法四

% 1、利用句柄的 UserData 属性来传递数据
set(handles.pushbutton1,'UserData','1234'); % 2、在别的callback function中获取全局变量的值:
var = handles.pushbutton1.UserData;

MATLAB-GUIDE简单示例相关推荐

  1. matlab guide的简介和简单使用

    Matlab guide简介和简单使用 简介 快捷键 1.对其对象键 2.菜单编辑器 两种菜单的设计方法 3.Tab键顺序编辑器 4.属性检查器 gui数据管理机制 guide实例 实例一画图 实例二 ...

  2. matlab画简单曲线,并进行标注、图例、加网格,等操作

    原文地址为: 用matlab画简单曲线,并进行标注.图例.加网格,等操作 用matlab画简单曲线,并进行标注.图例.加网格,等操作 工具/原料 matlab 软件 方法/步骤 本人采用的是r2012 ...

  3. 多维标度法(MDS,Multidimensional Scaling)及普氏分析(Procrustes Analysis)在人体姿态关节点上的简单示例(python)

    多维标度法(MDS,Multidimensional Scaling) 多维标度法一个简单的应用示例就是,已知一组城市之间的相对距离关系(相似矩阵),如何求解出各个城市在地图上的位置,使其尽可能满足前 ...

  4. 使用Matlab编写简单的图片标注程序

    使用Matlab编写简单的图片标注程序 最近在做数字图像处理大作业,本来想使用检测算法检测出图中车辆的位置,无奈水平有限,检测效果不佳,只能被迫使用matlab编写一个手动标注程序了.事实证明这真是项 ...

  5. 视觉机器学习20讲-MATLAB源码示例(6)-贝叶斯学习算法

    视觉机器学习20讲-MATLAB源码示例(6)-贝叶斯学习算法 1. 贝叶斯学习算法 2. Matlab仿真 3. 小结 1. 贝叶斯学习算法 贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统 ...

  6. 视觉机器学习20讲-MATLAB源码示例(3)-回归学习算法

    视觉机器学习20讲-MATLAB源码示例(3)-回归学习算法 1. 回归学习算法 2. Matlab仿真 3. 仿真结果 4. 小结 1. 回归学习算法 回归学习(Regression Learnin ...

  7. 视觉机器学习20讲-MATLAB源码示例(2)-KNN学习算法

    视觉机器学习20讲-MATLAB源码示例(2)-KNN学习算法 1. KNN学习算法 2. Matlab仿真 3. 仿真结果 4. 小结 1. KNN学习算法 KNN(K-Nearest Neighb ...

  8. xcode江湖录-第04章 风水宝地--界面生成器之StoryBoard简单示例 与 约束

    第04章风水宝地--界面生成器之StoryBoard简单示例 ??如何设置转场动画?? ??如何在参与到转场动作中?? ??如何让页面跳转到自定义VC?? ??如何设置自定义跳转模式?? ??如何用S ...

  9. python文本处理实例_Python 文件处理的简单示例

    这篇文章主要为大家详细介绍了Python 文件处理的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 相关的AP ...

  10. python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例

    这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...

最新文章

  1. linux按函数数字大小排序,linux awk 数组排序多种实现方法
  2. mac+php7+mysql.so_在Mac上编译安装PHP7的开发环境
  3. plt生成固定的colormap_白话生成对抗网络GAN及代码实现
  4. APP打开直接显示图片,去掉中间的白屏时间
  5. python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...
  6. SpringBoot官方热部署和远程调试神器,真带劲!
  7. 使用springboot来实现WebLog
  8. 转录组分析_肠道菌群:宏转录组测序分析流程解读
  9. FileItem 出现部分中文乱码解决办法
  10. mysql 增加一列 伦理名_MySQL错误提示mysql Statement violates GTID consistency
  11. Retinex算法详解
  12. 关于VC6和VC9的区别
  13. 【无机纳米材料科研制图——Photoshop 0403】PS使用索套工具和魔棒工具框出选区
  14. l计算机中数的表示教案,计算机一级B第一章教案汇总.doc
  15. ORACLE中的INTERVAL
  16. 今晚直播 |现实环境中的强化学习如何解决?你不可错过的RL终极奥义
  17. java hypot_Java StrictMath hypot()方法
  18. 【c++ -- 谓词】
  19. 割血放送,你要的资料都在这里(java、python、C#...)
  20. SWF 编辑工具 闪客之锤

热门文章

  1. Handler完全解读——Handler的使用
  2. 《给child的五顶学习帽》的总结
  3. 蓝桥杯单片机-第十二届省赛客观题
  4. 这几种同事,可千万别得罪
  5. 小程序影藏溢出的gif_“菜鸟”程序员和“大神”程序员的差别竟然这么大……|程序员|代码|产品经理...
  6. router.beforeEach方法用法
  7. 知识库进化论,ONES 并购为知笔记背后的故事|直播预告
  8. uniapp初始环境搭建,出于猎奇,也出于热爱编程
  9. 使用Vue实现后台管理系统的动态路由以及侧边栏菜单
  10. centos8系module软件包管理仓库部署