1.我应该在哪里加我的代码?
MATLAB自动为你做的工作:对控件执行默认操作时,matlab自动执行按钮的callback下的代码。
比如按钮,就是单击按钮一下。所以对于编程的新人来说,只用在相应函数下,添加自己期望执行的操作代码就可以了。比如说希望鼠标在控件上单击时执行某写代码,那将代码添加在ButtonDownFcn下就好。希望在控件销毁(比如说某窗口)时,执行一些代码,那可以把代码添加在DeleteFcn下面(常见的,“真的要退出吗”之类)。控件是否支持 “单击”,“鼠标划过”“鼠标松开”等等,可以去help查看它的Fcn有哪些。
-------------------------
在控件上右键 选择view callbacks 就可以看见它所支持的常用的回调函数callbacks。需要对什么进行反应,直接点进去,添加自己的代码就可以了。
--------------------------
通俗来说,都是,我怎么样一下(点一下按钮),他就怎么样一下(执行特定计算,显示一个图,跳出一个另一个界面)。再附加一些容错处理(比如说跳出一个对话框)。
即:对特定操作进行特定反应;
一个例子就是,我把slider滑块拖动,则某一个static text显示滑块的值;
要进行的特定反应是:static text显示滑块的值;----->写一句相应代码 set(handles.mystatic,'String','要显示的值')
进行的操作是: 对滑块进行拖动 ----- 所以---->把这句代码放在滑块的callback函数下
2、怎么获得和设置控件的属性
通俗的说,就是我怎么知道编辑框里的是什么,滑块现在的位置,或者pop up里选择了哪一个选项。
而且,我怎么控制 static text显示我要求的信息
控件的属性当然远不止我刚刚说的,
设置:
set(handles.你控件的tag,'要设置的属性名','要设置的属性值')
获取:
get(handles.你控件的tag,'要获取的属性名')
help里可以看到所有可能有用的属性
MATLAB->Creating Graphical User Interfaces->Laying Out GUIs and Setting Properties->What Properties Do I Need to Set?
3. 数据怎么在不同的控件之间传递
知道了GUI的数据管理规则,这个就很简单了。
-------------------
先看在一个界面内部的数据传递
每一个function myc_Callback(hObject, eventdata, handles)中所传进来的参数(也就是你可以在这个callback代码中直接用这个参数)都是一样的
第一个参数是hObject,是跟这个callback所关联的控件的handles,它的名字(Tag)叫hObject。不用管那么麻烦的概念,只用知道,控件自己的回调函数调用自己的属性,只用hObject.属性名 就可以了(中间一点)。
第二个参数是MATLAB的保留参数
第三个handles,是这个GUI界面的handles,它里面存放了这个界面的所有信息。所以在控件自己的回调函数中,要用别的控件的属性,就用 handles.别的控件Tag.属性 或者 handles.别的控件tag
handles格式是一个存放数据的缸。控件的handles是小缸,它的名字叫做hObject;GUI界面的handle是一个大缸,并且这个缸名字也叫做handles;大缸里存放了所有的小缸和所有用户数据,你只需 handles.控件A的tag 就可以存取控件A的信息。
那我怎么把自己计算出或者别的什么数据放到这个缸里呢?
^_^ 在任何地方 handles.自己的变量名 = 某些值
这样你就定义了自己的变量,在任何地方 b=handles.自己的变量名 就可以得到这个变量值,同样也可以修改它。
别忘了使用
guidata(hObject, handles);(不用改,直接黏贴) 在函数末尾来保存你对handles和hObject的操作。(不然你自定义的变量就没了)
-----------------------
在不同GUI之间传递数据
那就来看Open一个GUI时,传给他的参数有那些。
function mygui_OpeningFcn(hObject, eventdata, handles, varargin)
所有的启动参数都是通过varargin传到它的OpeningFcn里面的。那启动参数可以是哪些呢?
1、figure的参数。比如说POSITION之类
那打开这个GUI时,使用这个命令 mygui('Position',[434 234 234 34])则表示打开窗口在这个位置;还有哪些可控属性可以查help。
2、如果传入的参数不是figure的属性(matlab查找不到你输入的属性名),则你输入的参数作为一个向量存放在varargin里面。
比如mygui('路人甲','80‘),那varargin{1}存放了'路人甲',varargin{2}=’80‘
那mygui中对这读取两个数据进行反应,就达到了传入参数的目的。
那怎么把数据传出来呢?
将你要输出的数据存在handles.output里面
在GUI任意地方
handles.output=数据1;
handles.secend_output=数据2;
然后在GUI的outputFcn里面加上
varaginout{1}=handles.output;
varaginout{2}=handles.secend_output;
这样就把数据传出来了。
看每一个GUI的最外层的那句
function varargout = mygui(varargin) 看输入输出,就是这样了。把GUI本身就是一个函数,
b=mygui(一些传入的参数) 就执行GUI并返回结果
相关推荐
Matlab GUI界面
去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录。 从简单的例子说起吧。 创建Matlab GUI界面通常有两种方式: 1,使用 .m 文件直接动态添加控件 2. 使用 GUIDE 快速的生成GUI界面显然第二种可视化编辑方法算更适合写大型程序。一:创建GUI1.在 ...
matlab-gui实验报告
①在Matlab的主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示GUI的设计模板; ②选择GUI模板中的默认的空白模版Blank GUI(Default)就会显示GUI设计窗口,可以开始设计矩阵计算器了。 2.设计过程 ①在GUI界面中加入以下控件: 1>2个文本编辑器(edit text)作为输入矩阵的窗口; 2>16个用以执行运算的按钮(push button); 3>4个静态文本框(static text),其中一个作为显示计算所得结果的窗口,另外3个分别作为表示所输入的矩阵(A、B)以及用来输入标题(矩阵计算器); ....................
Matlab GUI编程
在matlab命令行上输入guide或者从菜单中选择
MATLABGUI设计总结-matlab gui 设计总结.doc
MATLABGUI设计总结-matlab gui 设计总结.doc 最近做毕业设计用到GUI,搜集到了很多资料,现在传上来,和大家一起分亨。 一.10个小问题 二.MATLAB GUI编程中几个有用的程序段 1、 启动 2、 在GUI中使用Axes控件 3、 在GUI中使用Excel表格(Activex控件Microsoft Office Spreedsheet) 4、 为Axes控件设置图片 三.Matlab程序生成可执行的exe文件 四.uitable 复制代码
Matlab 编写GUI——1
我想每个人都想做一套自己的系统,比如你利用MATLAB编写了一个大作业, 你的大作业包含许多模块,比如温度检测模块,温度显示模块,温度报警模块,如何将这些做成一个系统,其实你就是缺少了一个GUI设计,如何利用MATLAB 编写GUI呢? 入门第一天:编写Hello,World!点击Button 就显示Hello,World! 首先:你需要三个插件。 一、一个按钮 二、一个显示区域 三、一个题目:例如 My First APP 其次:对他们进行一定的排版——按照你自己喜欢的风格。 .
Matlab制作GUI
GUI 图形用户界面
GUI编写心得(MATLAB)
在编写matlab的GUI的时候,常常会出现各种小bug,这里,我总结了自己的一些经验,可以高效的完成代码编写。 GUI主要用来展示算法的成果,如果算法涉及到很多的参数需要调整,那么有了用户界面后,就不需要在展示的时候,去到上千行的代码种那去寻找要调整的参数,大大节省时间。但是如何让自己的GUI代码更加易读懂,易修改,可维护性高,还是有一些小技巧的。 1.算法模块化 在开发GUI之前,首先需要在纯代码界面进行算法的仿真,然后才能移植到GUI中。在开发算法代码的过程中。把在GUI上需要可以调整的变量都写在代码
MATLAB GUI编程总结
MATLAB GUI编程总结 最近鼓弄毕设,做的是人脸识别方面的东西,用 matlab 编程实现,后来想到做一个GUI界面,经过研究,将自己的收获总结在下面 目录 MATLAB GUI编程总结 目录 GUI 两种编程方式 使用 guide + 部分编程 全编程方式 两种方式的不同 编程步骤 第一种方式 第二种方式 常用控件及其属性 GUI 两种编程方式 m...
补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮
MATLAB GUI
Matlab GUI界面设计
摘要:本篇博文基于MATLAB2014a进行GUI设计。
学习matlab GUI编程的一点点所得
1.我应该在哪里加我的代码? MATLAB自动为你做的工作:对控件执行默认操作时,matlab自动执行按钮的callback下的代码。 比如按钮,就是单击按钮一下。所以对于编程的新人来说,只用在相应函数下,添加自己期望执行的操作代码就可以了。比如说希望鼠标在控件上单击时执行某写代码,那将代码添加在ButtonDownFcn下就好。希望在控件销毁(比如说某窗口
MATLAB之GUI界面创建
初衷 由于课程要求,学习了下创建MATLAB交互界面,最初学习的途径就是在CSDN上搜索;然而参考了几篇博客文章之后,操作时还是一头雾水(拼死挣扎不愿承认自己能力太差:)),后来在同学的帮助下,成功完成了GUI界面创建,所以今天写下这篇文章来记录学习成果。 除了代码与文字,我还会通过截图来详细说明操作流程,旨在帮助像我当初一样一头雾水的同学快速完成GUI界面创建。 正经操作 以下环境为MATLAB...
matlab gui 复杂,对MATLAB 的GUI编程的一些体会
用MATLAB的GUIDE进行图像界面的编程是非常简单的。在这里唐僧几句,学习MATLAB最好的资料是MATLAB自带的帮助文档。这个,王星焱跟我说过好多次了,其实其他的好多软件都是这样的。不过我的自学能力差一些。在去年暑假在合肥电院实习的时候,手边什么书都没有,没有办法,只好硬着头皮看MATLAB帮助文档。虽然是e文的,但是还是能看懂的,在金山词霸的帮助下。所以,关于GUI的入门,就交给MATL...
matlab gui编程教程,matlab如何使用gui
用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。图形用户界面(GraphicalUserInterfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI的制作。...
MATLAB(6)GUI应用介绍
介绍MATLAB的UI应用:GUIDE,并对该功能进行基本的介绍,如控件的类型、属性以及回调函数
MATLAB中GUI设计的基本操作
一、如何打开GUI编辑界面 1:命令行输入guide打开GUI编辑界面 2:通过主页下面的新建功能选中如图即可 3:如何在已经新建过GUI以后还想进入GUI的编辑界面 命令行输入guide+文件名字,如下(注意工作目录) 二、GUI基本操作 1:显示右边元件的名字 File——>Preferences——>GUIDE——>show names in co...
MATLAB GUI的运行原理理解
MATLAB GUI原理的一些个人理解
matlab gui 函数绘图,MATLAB GUI ,2,使用MATLAB的函数来实现MATLAB GUI,part 1,图
一 概述 其实MATLAB的GUI完全可以使用MATLAB中各种控件的函数来实现,也可以说GUI就是一个figure,本人也是对MATLAB GUI比较感兴趣的一个学习者,在学习MATLAB过程中,搜索了不少资料才了解了用函数形式也就是不依靠GUIDE完成GUI设计的方法,在这里总结分享一 概述其实MATLAB的GUI完全可以使用MATLAB中各种控件的函数来实现,也可以说GUI就是一个figu...
5537




被折叠的 条评论
为什么被折叠?



