有一段时间没写博客,一周4篇文章都坚持不下来,不知道写哪个方面的内容,写研究相关就怕论文查重查到,其他方面也没太多时间去学。还是花时间多学点其他方面。废话到此,很早就做过matlab gui相关,现在想做一个论文的系统演示,很多东西又忘了又没有记录,再熟悉一次又得花大功夫,所以在这里系统的记录下。

一、创建GUI的方式

学习GUI最好的材料当然是matlab的官方文档了,本文也是按照相应的方式的来写的。GUI就是简单的用户界面和对这些界面元素的响应,所以主要包含两块内容一是界面的设计,二是对控件元素的代码的编写。

创建GUI的方式有两种

1)使用GUIDE

这个就比较简单,就是在一个交互界面上拖动元素,排列组合生成界面,然后对每个控件写上相应的响应代码(callback函数)。下面展示了在matlab R2013上一个交互创建GUI的界面。左边是各种可以利用的控件,而右边是一整块可以画图的画布,可以把各种控件放在上面。保存fig后会自动生成对应控件的callback函数。

2)编码的方式

写一个程序文件定义好每个控件的属性和行为,当用户运行这个文件时,matlab会创建一个图形界面。并生成相应的组件,能够处理用户的交互。运行并不会每次保存界面图形而是每次运行都是重新创建一个。入门的推荐使用第一种方式。

二、简单的例子

这个是matlab提供的一个例子,打开guide界面后,显示如上,为了能够将控件的文本显示在控件上,通过设置File > Preferences > GUIDE. 选择 Show names in component palette. 点击 OK.就可以了

这样控件的名称就会在底下显示出来,更直观和容易选择。按照simple_GUI 上的提示将所有控件添加到界面上,可以通过属性窗口来设置属性。比如更改名字,改变大小等。也可以通过对齐方式来对齐控件,使布局更加美观整洁。

三、为常见部件编码

为部件编写的代码主要在回调函数里编写。所以首先要对回调函数有个了解。

3.1 回调函数

回调函数是你为GUI特定部件写的函数。回调函数能够通过响应部件上的事件来控制部件的行为。这些行为如:按下按键,选择菜单等。这就是所谓事件驱动编程。当你创建好GUI保存之后就会自动生成对应的一系列回调函数,这些回调函数都是只有一个函数名和参数列表,里面的代码需要自己编写。那要如何找到某个部件对应的callback函数,只要在GUI界面,右键选择view callback即可。

3.2 编写回调函数

编写回调函数就如同一般函数那样编写,你在某个按键下编写的回调函数就是当这一按键按下时会执行的一些代码。注意一点,如果某个变量想要在其他的回调函数里面使用,那么可以通过设置这一变量为global全局变量。这一变量在其他函数里就可以直接使用。取得某个部件的值,比如Check Box,Edit Text,Radio Button等。主要是通过取得部件的句柄来实现的。

button_state = get(hObject,'Value');

user_string = get(hObject,'String');

Matlab GUI memo的更多相关文章

  1. matlab GUI界面编程总结

    去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...

  2. 转载:关于Matlab GUI的一些经验总结

    去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...

  3. Matlab GUI设计中的一些常用函数

    Matlab GUI常用函数总结 % — 文件的打开.读取和关闭% — 文件的保存% — 创建一个进度条% — 在名为display的axes显示图像,然后关闭% — 把数字转化为时间格式% — ch ...

  4. Matlab GUI界面

    做SVD的时候,看学姐的demo,用到了matlab的GUI,感兴趣就自己学了一下: 从简单的例子说起吧. 创建Matlab GUI界面通常有两种方式: 1,使用 .m 文件直接动态添加控件     ...

  5. matlab GUI保存axes(坐标轴)上的图像

    1.默认方式 matlab GUI默认菜单的保存图像默认为保持全部GUI,包括使用" 菜单->编辑->复制图形". 2 保存可见区域 2.1 代码 [FileName, ...

  6. [学习一个] Matlab GUI 学习笔记 Ⅰ

    Matlab GUI 学习笔记 Ⅰ 1. Foreword Matlab 是严格意义上的编程语言吗?曾经有人告诉我他是通过 Matlab 学会了面对对象编程,我是不信的,但这依然不妨碍它在特殊领域的强 ...

  7. Matlab——GUI初涉

    Matlab——GUI初涉 MATLAB GUI教学视频0:GUI中的基本操作—在线播放—优酷网,视频高清在线观看http://v.youku.com/v_show/id_XMjM2Mjk0MjM2. ...

  8. Matlab GUI读入图片

    % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, han ...

  9. 如何用MATLAB GUI创建图形用户界面

    MATLAB是众多理工科学生及工程师经常使用的一款数学软件,除了可以实现数据处理,矩阵运算.函数绘制等功能外,MATLAB还可以实现图形用户界面的设计. 下面介绍如何让小白也能用GUI创建最基本的用户 ...

随机推荐

  1. 已知问题汇总 (2013-11-30) - QQ空间, EXTJS

    目前发现两个已知问题暂时无法得到解决: 1. QQ空间问题. 打开页面 http://user.qzone.qq.com/822994792/311, 点击 "xxx人赞" 这个链 ...

  2. jquery checkbox勾选/取消

    作者:@keenleung本文为作者原创,转载请注明出处:http://www.cnblogs.com/KeenLeung/p/3799895.html 目录 <form> 你爱好的运动是 ...

  3. Mybatis实现了接口绑定,使用更加方便。

    1.Mybatis实现了接口绑定,使用更加方便. 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生 ...

  4. 【BZOJ】1022: [SHOI2008]小约翰的游戏John(博弈论)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1022 好神的博弈论. 题解见dzy的blog:http://dzy493941464.is-prog ...

  5. 【BZOJ】1679: [Usaco2005 Jan]Moo Volume 牛的呼声(数学)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1679 水题没啥好说的..自己用笔画画就懂了 将点排序,然后每一次的点到后边点的声音距离和==(n-i ...

  6. Git神器sourceTreesetup,让你的git效率迅速提升

    image.png 小编之前在简书和公众号发不过idea如何git clone,git add,创建分支,创建码云的操作idea和Webstorm上使用git和github,码云最近又找到一款git神 ...

  7. Eclipse导入MyEclipseproject(web项目显示为java项目解决的方法)

    在直接Import MyEclipse的项目文件导入到Eclipse之后,须要在项目所放的workspace内改动引入项目文件夹下的.project文件,改动例如以下: 1.在eclipse中新建一个 ...

  8. Spring_day03--Spring的事务管理

    Spring的事务管理 事务概念 1 什么事务 事务是操作中最基本的单元,表示一组操作要么都成功,有一个失败那么所有都失败. 2 事务特性 原子性 一致性 隔离性 持久性 3 不考虑隔离性产生读问题 ...

  9. 实际用户ID,有效用户ID,保存的设置用户ID

    Unix中常见的几个概念,下面做一个解释. 首先需要明确一点,这几个概念都是和进程相关的. real user ID表示的是实际上进程的执行者是谁,effective user ID主要用于校验该进程 ...

  10. recyclerView中的方法

    onCreateViewHolder(); onBindViewHolder(); getItemCount(); recyclerVIew中没有添加头布局和尾布局方法.可以用getItemViewT ...