matlab中gui教程

合集下载

matlab创建gui界面的方法

matlab创建gui界面的方法

matlab创建gui界面的方法
在MATLAB中创建GUI界面可以使用MATLAB的GUI设计工具。

下面是
一些基本步骤:
1. 在MATLAB命令窗口中输入`guide`,然后按Enter键打开GUI设计器。

2. 在GUI设计器中,选择一个预定义的模板或创建一个新的GUI。

3. 使用GUI设计器中的工具栏和属性编辑器来添加和配置GUI组件,例如
按钮、文本框和滑动条等。

4. 设置每个组件的回调函数,以便在用户与组件交互时执行特定的操作。

5. 保存并运行GUI,以测试其功能和性能。

需要注意的是,GUI设计器是MATLAB的一个可选组件,因此需要确保已
安装该组件才能使用它。

此外,创建复杂的GUI可能需要一定的MATLAB
编程经验和对GUI组件的深入了解。

Matlab_-_GUI图形用户界面简单实用教程

Matlab_-_GUI图形用户界面简单实用教程
11
五 GUI图形用户界面
4. 界面激活 保存静态界面后,利用工具栏上的运行按钮激活该界面。 激活后可以看到两个同名文件:experiment1.m和 experiment1.fig。 experiment1.m文件在M文本编辑器中打开, experiment1.fig文件显示为操作界面,但是无法实现任何功 能,需要编写回调函数。
15
五 GUI图形用户界面
对本例来说,首先需要定义几个用户变量,以便记录参加 handles = 运算的数值,进行计算。 mainWnd : 132.0002 p2 : 24.0006
Operation : 149.0002 p1 handles, : 23.0006 function Experiment1_OpeningFcn(hObject, eventdata, varargin) pDot : 148.0002 text3 : 22.0006 handles.output = hObject; pLog10 : 147.0002 text2 : 21.0006 handles.s_Exp=‘’; % 以字符串的形式记录计算表达式 pLog : 146.0002 frame4 : 20.0006 handles.s_Num=‘’; %以字符串的形式记录编辑框中要显示的数值 pCos : 145.0002 text1 : 19.0006 handles.i=1; % s_Exp的计数器 pClear : 18.0006 pSin : 144.0002 pDel : 143.0002 handles.j=1; % s_Num的计数器 pDone : 17.0006 pExp : 16.0006 handles.flag=0; pAdd : 142.0002 %用来区分四则运算和其他运算的标志 pDiv : 141.0002 frame3 : 15.0007 % Update handles structure pMul : 140.0002 frame2 : 133.0002 guidata(hObject, handles); p0 : 139.0002 p_Clear : 151.0002 p9 : 138.0002 p_Done : 150.0002 p8 : 137.0002 output : 132.0002 p7 : 136.0002 s_Exp : '50' p6 : 135.0002 s_Num : '5' p5 : 134.0002 i :2 p4 : 26.0006 j :2 p3 : 25.0006 flag : 0

第五章 MATLAB里的GUI

第五章 MATLAB里的GUI

创建图形用户界面的方法——图形句柄和GUIDE 都需要使用M语言编程,但是技术的侧重点不同。 MATLAB提供了基本的用户界面元素:包括菜单、快捷菜 单、按钮、复选框、单选框、文本编辑框、静态文本、下
拉列表框、列表框等。
句柄(handle)与句柄操作

什么是句柄?
句柄是图形对象的标识代码(唯一的身份),标 识代码含有图形对象的各种必要的属性信息。 各图形对象的句柄数据格式: 根屏幕 图形窗口 其它对象 0 正整数,表示图形窗口序号 对应的双精度浮点数
在GUIDE的界面的工具栏上包含了一些常用的工具,如图。
菜单编辑器
属性察看器
激活工具
对齐工具
M 文件编辑器
对象察看器
GUIDE工具栏上的工具按钮
图形用户界面的例子
在该图形用户界面中包含如下控件:
* 两个推按钮(push button),分别完成绘制三维 曲面和改变色彩的功能;
* 五个静态文本框(static text),分别用来完成显 示不同信息的功能; * 一个滚动条(slide),用来完成改变三维曲面上 的分隔线色彩; * 一个坐标轴(axes),用来显示三维曲面;
选择已经存在的图形界面文件,该文件的扩展名为 fig。 打开一个存在的GUI界面文件: >> guide gui_filename 这时在GUIDE中将显示已经创建好的图形界面外 观。
选择空白界面类型,并单击“OK”按钮,这时
MATLAB将启动GUIDE的图形界面,如图所示。
具有空白界面的GUIDE图形界面
例:
get(0,'DefaultFigureColor') —— 获得图形 窗口的省缺值 set(h,'DefaultLineColor','r') ——设置线的 颜色为红色 例:在图上添加文字注释,颜色为红色 set(gca,'DefaultTextColor',[1 0 0]) gtext('正弦') gtext('余弦') %鼠标取点 在轴对象上设置字对象的颜色省缺值为红色 继承该省缺值在图上添加红色的文字注释

(完整版)MatlabGUIDE使用说明(MatlabGUI界面)

(完整版)MatlabGUIDE使用说明(MatlabGUI界面)

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

从简单的例子说起吧。

创建Matlab GUI界面通常有两种方式:1,使用 .m 文件直接动态添加控件2. 使用GUIDE 快速的生成GUI界面显然第二种可视化编辑方法算更适合写大型程序。

一:创建GUI1.在 .m文件中动态添加例如h_main=figure(‘name’,‘a demo of gui design’,‘menubar’,‘none’,…'numbertitle','off','position',[100 100 300 100]);h_edit=uicontrol('style','edit','backgroundcolor',[1 1 1],'position',[20 20 50 20],...'tag','myedit','string','1','horizontalalignment','left');h_but1=uicontrol('style','pushbutton','position',[20 50 50 20],'string','INC',...'callback',['v=eval(get(h_edit,''string''));',...'set(h_edit,''string'',int2str(v+1));']);h_but2=uicontrol('style','pushbutton','position',[80 50 50 20],'string','DEC',...'callback',['v=eval(get(h_edit,''string''));','set(h_edit,''string'',int2str(v-1));']);2.使用GUIDE帮助创建GUI在Command 里面输入GUIDE 或者从菜单里面,或者从快捷按钮均可进入GUIDE新建并且保存后,会生成相应的fig文件和m文件,在Layout编辑视图,可以使用如下工具:Layout Editor:布局编辑器;Alignment Tool:对齐工具;Property Inspector:对象属性观察器;Object Browser:对象浏览器;Menu Editor:菜单编辑器。

MATLAB实用教程GUI

MATLAB实用教程GUI

MATLAB实用教程GUI
MATLAB是一种非常强大的数值计算软件,广泛应用于科学计算、工程设计和数据分析等领域。

其中的GUI(Graphical User Interface,图形用户界面)功能可以帮助用户设计出直观、交互性强的界面,提高使用效率和易用性。

本篇教程将介绍如何利用MATLAB的GUI功能创建一个实用的界面。

首先,打开MATLAB软件,并在"Home"选项卡中选择"New Script"创建一个新的脚本。

在脚本中,我们将使用MATLAB的GUI工具箱中的"App Designer"来创建界面。

除了按钮的点击事件外,还可以处理其他各种事件。

例如,通过为文本框添加"ValueChangedFcn"回调函数,可以在文本框内容发生更改时执行相应的操作。

在界面设计完成后,可以通过点击"Run"按钮来运行应用程序,并与用户进行交互。

可以输入文本、选择菜单项、点击按钮等等,然后根据用户的输入做出相应的反应。

通过与用户的交互,可以进行各种有用的计算和处理。

值得一提的是,MATLAB的GUI功能还支持将用户界面保存为独立的应用程序,并与其他MATLAB代码集成。

这意味着界面所包含的各种计算和分析能力可以通过编写MATLAB函数来实现,然后在界面的回调函数中调用这些函数。

这为用户提供了更大的自由度和灵活性,以满足不同需求的应用场景。

经典GUI基础入门:MATLAB中GUI用户图形界面学习

经典GUI基础入门:MATLAB中GUI用户图形界面学习

如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都是这个能力。

就好比计算机的 DOS 系统,在有windows的情况下,您会选择DOS吗?当然我们也不排除骨灰级的人物!在本节教程我们主要针对没有G UI 创建和使用经历的网友,但是必要的M ATLAB基础知识是需要的。

在教程中我们将创建一个简单的GUI程序,它执行两个数的加法运行,然后显示其运算结果。

一、打开和创建GUI界面1、首先打开Matlab,在Command Window中输入guide回车2、此时打开GUI编辑器GUIDE(GUI Developer的缩写)2.1 界面上有两个标签也“Creat New GUI”和“Open Existing GUI”如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI 就点击第二个标签吧2.2 这里我们选择第一个标签下的“Blank GUI”(空白 GUI),下面还有几个系统GUI模版,你可以根据需要选择其它的。

2.3 点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识3、添加你需要的控件到figure中在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了不利于您的编程。

下面是我们构思的布局。

二、添加控件和设置属性在正式讲解之前,我们先讲解下GUI中的鼠标基本操作(a) 在左边的控件面板中鼠标左击选择您需要的控件,然后放开鼠标(b) 在右边的figure中按住左键,画出您的控件,于是空间就在figure上(c) 你可以用鼠标拖拽figure上所有控件,来改变他们的位置(d) 在控件上双击鼠标左键(右击是快捷菜单)可打开控件属性面板1、从上面的布局构思,我们知道本GUI需要以下控件:三个“编辑文本框”(Edit Text):三个“静态文本框”(Static Text):一个“确定按钮”(Pushbutton)按照上面介绍的鼠标操作方法,将这6个控件拖到右边的figure中,如下图所示2、接下来就是编辑这些控件的属性好,下面从Static Text开始吧,双击其中一个“静态文本块”,将跳出该控件的“属性查看器”(Property Inspector)GUI控件的几个常用属性说明如下:position:指示空间在figure中的位置font**:字体相关属性string:相当如VB中的caption,就是显示在控件上的文字tag:控件的唯一标识符,相当于ID,我们需要tag来指定某一个空间2.1 在这里我们修改它的“string”属性为“+”2.2 同理修改它的“fontsize”属性为20在编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。

MATLAB实现GUI界面

MATLAB实现GUI界面

MATLAB实现GUI界面一、搭建最基本的GUI本节通过两个例子进行论述,分别介绍GUI基本操作,即数值运算、数据导入、图形绘制等功能的GUI实现。

A-加法器首先上效果图:输入两个数值,点击Add!,便可显示结果,下面开始逐步介绍。

•GUI新建常用的新建GUI方法有两个:1.mand Window输入guide—>Create New GUI;2.Home—>New—>Graphical User Interface;注意:勾选“Sace new figure as:”,可选择存储路径,并对文件命名。

这里我们选择默认的“Blank GUI(Default)”,点击“OK”,便可进入,本文主要用到以下几个选框:•GUI框架搭建本文为基础内容,框架内修改的主要是点击需要添加的选框至面板中,双击选框,特性中:其中String:显示的名称;Tag:标签,主要用于程序编写时,对变量进行定位;常用:position:指示空间在figure中的位置font**:字体相关属性string:相当如VB中的caption,就是显示在控件上的文字tag:控件的唯一标识符,相当于ID,我们需要tag来指定某一个空间因此,我们只需要设定参与操作的选框tag;对于不涉及操作、仅仅作为显示的选框,其tag我们可以默认。

分析加法器,我们总共需要的选框:其中,涉及操作的有:两个输入(两个编辑文本框)+ 一个执行加法运算的开关(一个确定按钮)+结果显示(一个静态文本框)。

设置完成的效果图:点击“保存”,此时便出现.m和.fig两个文件,加法器的GUI框架搭建完毕。

•GUI对应代码完善步骤一:设定tag、String等参数;首先是回调函数的定位(如果已经退出GUI编辑框,可Command Window输入guilde进入):选中并右键—>Viwe Callbacks—>Callback,即可打开对应的函数模块。

matlab-GUI-快速入门

matlab-GUI-快速入门
在GUI设计窗口创建图形对象后,经过双击该对象,就 会显示该对象旳属性编辑器。
一、图形顾客界面开发环境(GUIDE)
Matlab提供了一套可视化旳创建图形窗口旳工具,使 用图形顾客界面开发环境可以便地创建GUI应用程序,它 能够根据顾客设计旳GUI布局,自动生成M文件旳框架,顾 客使用这一框架编制自己旳应用程序。
图形顾客 界面GUI设计 窗口由菜单栏、 工具栏、控件 工具栏以及图 形对象设计区 等4个功能区 构成。
左图为空白 GUI模板情形
GUI设计 窗口旳菜单栏 有File、Edit、 View、Layout、 Tools和Help 6 个菜单项,使 用其中旳命令 能够完毕图形 顾客界面旳设 计操作。
编辑工具在菜单栏旳下方,提供了常用旳工具;设计 工具区位于窗口旳左半部分,提供了设计GUI过程中所用旳 顾客控件;空间模板区是网格形式旳顾客设计GUI旳空白区 域。
2. 控件对象旳描述
Matlab中旳控件大致可分为两种,一种为动作控件, 鼠标点击这些控件时会产生相应旳响应。一种为静态控件, 是一种不产生响应旳控件,如文本框等。
每种控件都有某些能够设置旳参数,用于体现控件旳外 形、功能及效果,既属性。属性由两部分构成:属性名和属 性值,它们必须是成对出现旳。
① 按钮(Push Buttons):执行某种预定旳功能或操作;
① 将控件对象放置到布局区
用鼠标选择并放置控件到布局区内; 移动控件到合适旳位置; 变化控件旳大小; 选中多种对象旳措施。
一 种 简 朴 旳 布 局 示 例
② 激活图形窗口
如所建立旳布局还没有进行存储,可用File菜单下旳 Save As菜单项(或工具栏中旳相应项),按输入旳文件 旳名字,在激活图形窗口旳同步将存储一对同名旳M文件 和带有.fig扩展名旳FIG文件。

matlab gui教程

matlab gui教程

matlab gui教程MATLAB(Matrix Laboratory)是一种用于数值计算和科学工程的高级编程语言和环境。

MATLAB具有强大的数值计算能力和丰富的函数库,广泛应用于各个领域,包括工程、科学、经济、金融等。

MATLAB的GUI(Graphical User Interface)编程是一种通过可视化界面与用户进行交互的编程方式。

GUI程序的开发可以使用户更加方便地使用MATLAB的各种功能,并且可以增加程序的易用性和可读性。

在MATLAB中,GUI程序的开发是通过GUIDE(Graphical User Interface Development Environment)工具完成的。

GUIDE 是MATLAB自带的一种可视化设计工具,它可以帮助用户快速实现GUI的设计和布局,并且可以自动生成相应的代码。

通过GUIDE,用户可以将各种用户界面元素(如按钮、文本框、滑动条等)拖放到GUI窗口中,并进行相应的属性设置和回调函数的编写。

回调函数是指当用户进行操作时触发的响应函数,用于实现用户与程序的交互。

GUI程序的开发通常包括以下几个步骤:1. 创建GUI窗口:在MATLAB中,可以通过调用`figure`函数来创建GUI窗口,也可以直接使用GUIDE工具来设计和布局GUI窗口。

2. 添加用户界面元素:通过GUIDE工具或手动编写代码的方式,向GUI窗口添加各种用户界面元素,如按钮、文本框、滑动条等,并进行相应的属性设置。

3. 编写回调函数:为各个用户界面元素添加回调函数,用于实现用户与程序的交互。

可以通过GUIDE工具自动生成回调函数的代码,也可以手动编写回调函数。

4. 实现功能代码:根据用户界面元素的触发,编写相应的功能代码,实现程序的具体功能。

5. 调试和优化:测试GUI程序的各个功能,并进行必要的调试和优化,以确保程序的正常运行和良好的用户体验。

总的来说,MATLAB的GUI是一种非常强大和灵活的编程方式,可以方便实现用户与程序的交互、提高程序的易用性和可读性。

MatlabGUI简单教程

MatlabGUI简单教程

为了简单说明MatlabGUI的基本原理,下面做一个加法的界面打开matlab显示如下界面(部分):单击图标,弹出如下界面:按照默认,点ok按钮,弹出如下界面:这就是matlabGUI的编辑界面,下边分别选择相应的控件,用鼠标拖动到右边的区域,并且排列成下图所示的样子:第一个Edit Text按照如下设置,只需要修改String和Tag,需要说明的是,这里的Sting的值是文本框显示的字符串,也是我们在程序中需要读取的值,Tag的值代表该文本框的名字,在程序中也需要用到,其它项不变:第二个EditText按照如下图设置:第三个EditText按照如下图设置:第一个StaticText按照如下设置,这里只需要设置String,其它的不变:第一个StaticText按照如下设置Pushbutton按照如下设置设置完毕后的界面如下:设置完毕后保存,系统会自动生成一个同名的.m和.fig文件,比如add.m和add.fig,其中add是我保存的文件名,现在切换到上图的界面,在按钮上点右键,如下图所示,选择ViewCallbacks—>Callback这时会自动切换到该按钮的回调函数下面,如下图所示因为我们的程序是在点“确定”按钮之后执行,包括读取N1和N2的值,然后相加,最后把结果显示在第三个文本框中,所以这些程序代码要加在pushbutton_ok_Callback()函数下边,代码如下:N1=str2double(get(handles.N1,'string'));%读取N1的值,由于读的是String的值,%需要用str2double函数将字符串转化成数字型N2=str2double(get(handles.N2,'string'));N3=N1+N2;set(handles.Sum,'string',N3);%在第三个文本框显示结果保存后点击图标就可以运行了。

MatlabGUI的菜单和工具栏常用操作

MatlabGUI的菜单和工具栏常用操作

Matlab GUI 常用操作菜单1.编辑菜单打开GUIDE,选择工具栏上面的菜单编辑按钮2.添加菜单回调函数(callback)菜单编辑完成保存后,在fig对应的m文件中会自动生成菜单的回调函数声明例如菜单tag名为menuFilePrint,则对应的callback函数为:function menuFilePrint_Callback(hObject, eventdata, handles)可以在该函数内添加代码实现功能。

3.菜单项访问获取菜单句柄在matlab的函数中要对某个菜单进行访问,必须获得该菜单的句柄。

如果是在菜单的回调函数里面,hObject就是该菜单的句柄;如果是在其他的函数里面要获得某一菜单的句柄,比如选中工具栏上的ZoomIn按钮,按钮处于被按下状态,同时要设置对应菜单项view->Zoom-Zoom In 为选中状态,如下图:这里要在按钮“ZoomIn”的callback函数里面实现对菜单menuViewZoomIn的状态设置。

首先得获得菜单的句柄:% first we must get the handle of menuZoomInhFigChildren = allchild(gcf);% menuView handlehMenuView = findobj(hFigChildren,'Tag','menuView');hvc = allchild(hMenuView);% menuViewZoomhViewZoom = findobj(hvc,'Tag','menuViewZoom');hvzc = allchild(hViewZoom);%menuZoomIn handlehZoomIn = findobj(hvzc,'Tag', 'menuZoomIn');获取设置菜单状态得到菜单的句柄后就可以得到菜单当前的状态了:if strcmp(get(hZoomIn, 'Checked'),'on')set(hZoomIn, 'Checked', 'off');elseset(hZoomIn, 'Checked', 'on');end工具栏1.不显示工具栏1)GUIDE开发界面在对应的m文件中找到function Main_OpeningFcn(hObject, eventdata, handles, varargin)在该函数里面添加:set(hObject,'Toolbar','none');2)M文件开发hMainFigure = figure(... % The main GUI figure'MenuBar','none', ...'Toolbar','none', ...'HandleVisibility','callback', ...'Color', get(0,...'defaultuicontrolbackgroundcolor'));2.显示“Figure”工具栏set(hObject,'Toolbar','figure');3.添加自定义工具栏set(hObject,'Toolbar','none');hToolbar = uitoolbar(hObject);hNewPushtool = uipushtool(... % Open toolbar button'Parent',hToolbar,...'TooltipString','New File',...'CData',imread('New.bmp'));'HandleVis ibility','callback', ...'ClickedCallback', @hOpenMenuitemCallback);4.获取工具栏句柄% get toolbar handlehToolbar = findall(gcf,'Type','uitoolbar');if isempty(hToolbar), return, end5.获取figure工具栏按钮的tag值% get toolbar handlehToolbar = findall(gcf,'Type','uitoolbar');if isempty(hToolbar), return, end% get all childrenhChildren = allchild(hToolbar);if isempty(hChildren), return,endhTags = get(hChildren, ‘Tag’);hTags保存了工具栏所有按钮的tag值:6.获取设置figure工具栏按钮的callback函数%reset callback function for "Zoom in"hZoomIn = findobj(hChildren,'Tag','Exploration.ZoomIn');set(hZoomIn,'ClickedCallback',@tbZoomIn_Callback);function tbZoomIn_Callback(hObject, eventdata)% hObject handle to tbZoomIn (see GCBO)% eventdata reserved - to be defined in a future version of MATLA B 7.删除figure工具栏按钮% set figure toolbar firstset(hObject,'Toolbar','figure');% get toolbar handletbh = findall(hObject,'Type','uitoolbar');if isempty(tbh), return, end% toolbar buttons collectionhChildren = allchild(tbh);if isempty(hChildren), return, end% delete data cursor buttonhDeleted = findobj(hChildren,'Tag','Exploration.DataCursor');delete(hDeleted);8.设置figure工具栏按钮的状态% get toolbar handlehToolbar = findall(gcf,'Type','uitoolbar');if isempty(hToolbar), return, end% get all childrenhChildren = allchild(hToolbar);if isempty(hChildren), return,endhTags = get(hChildren, 'Tag');% find "Zoom In" buttonhb = findobj(hChildren,'Tag','Exploration.ZoomIn');if isempty(hb),return, end% set stateif strcmp(get(hObject, 'Checked'),'on')set(hObject, 'Checked', 'off');set(hb,'State', 'off');elseset(hObject, 'Checked', 'on');set(hb,'State', 'on');end。

MATLAB实用教程GUI

MATLAB实用教程GUI
➢ 事件序列的顶端事件要求重画图形窗口, MATLAB将执行重画并继续处理事件序列 中的下一个事件。
在创建新的GUI时MATLAB提供以下4 种模板: ➢空白模板; ➢带有控制按钮模板; ➢带有坐标轴和菜单模板; ➢问答式对话框模板。
2021/7/1
13
其中的空白模板如下图所示。
2021/7/1
14
8.1.3 GUIDE提供的控件
在空白模板中,GUIDE提供界面控件 以及设计工具集来实现界面设计,其中, 控件分布在界面设计编辑器的左侧,如下 图所示。
2021/7/1
8
GUI创建包括界面设计和控件编程两部 分,主要步骤如下:
➢ 通过设置GUIDE应用程序的选项来运行 GUIDE;
➢ 使用界面设计编辑器进行界面设计; ➢ 编写控件行为响应控制(即回调函数)代
码。
2021/7/1
9
8.1.2 启动GUIDE
在MATLAB中,GUIDE提供多个模板 来定制GUI。这些模板均已包括相关的回调 函数,可以通过修改对应的M文件函数,实 现指定功能。
键时它随之出现。 ➢ 使用【New Context Menu】工具栏创
建一个菜单; ➢ 指定其隶属关系; ➢ 指定其属性。
2021/7/1
41
8.1.5 GUI组态
1.窗口重画行为 2.命令行访问 3.生成FIG文件和M文件
2021/7/1
42
在添加控件前,应使用GUIDE应用程 序选项对话框对GUI组态进行设置。选择界 面 设 计 编 辑 器 的 【Tools】 菜 单 下 的 【Application Options】选项打开如下图 所示选项对话框。
2021/7/1
57
(2)回调函数执行中断

matlab的gui的用法

matlab的gui的用法

matlab的gui的用法
1. 打开 MATLAB,然后选择“新建(New)”。

2. 在“新建”页面上,选择“GUI(图形用户界面)”选项进入GUI
创建向导。

3. 选择GUI的类型,包括标准(Standard)GUI、模板(Template)GUI、空白(Blank)GUI或从现有GUI中创建。

4. 在GUI编辑器中设计GUI,可以通过插入各种控件、编辑控件属性、调整布局等方式来实现。

5. 创建GUI回调函数来控制GUI中的操作并处理用户输入,可以手动
输入代码或使用自动生成的回调。

6. 运行GUI并进行测试,可以通过单击绿色“运行GUI”按钮或在命
令行窗口中键入GUI名称来运行。

7. 对GUI进行调整和修改,如果需要对GUI进行更改,则可以随时返
回到编辑器中进行修改并再次测试。

总的来说,MATLAB的GUI设计并不复杂,主要是通过GUI编辑器中的可视化设计和回调函数的编写实现。

需要学习一些基本控件的使
用和GUI布局方式的设计技巧。

matlab的gui教程

matlab的gui教程
新手之——教你读懂 GUI 的 M 文件... 10 2、GUI 程序中改变 current directory 引起的问题... 15 3、GUI 中 h0bject 和 handles 的区别... 16 4、handles 结构中句柄和对象的关联问题... 17 5、Matlab 利用定时器连续显示图片的问题... 19 5-1、GUI 中实现在图片任意位置上标注 text. 22 5-2、使用 edit 的另外一种 callback. 22 6、MATLAB 如何实现图像的任意裁减?... 22 7、坐标轴标注刻度、网格、文字方向... 23 8、Matlab 中对 uitable 的操作:调节各列宽度,设定某列是可编辑的... 24 9、将在 Matlab 下编写的 GUI 转成独立于 Matlab 平台的应用程序... 25 10、要将用 Matlab 语言编写的函数文件编译成可独立执行的*.exe 文件... 28 11、matlab GUI 程序转换成 exe 可执行文件... 31 12、gui 生成独立的应用程序的发布问题... 33 13、GUI 控制 simulink 模块及参数的综合实例!... 34 13-1、在 axes 显示图像后,在图像上单击鼠标时,回调函数的定义规则和使用方法... 35 14、如何在循环中加入 waitbar,并在 waitbar 上添加‘取消’按钮... 36 15、在 matlab 中对信号进行 FFT 变换... 38
function [avg, med] = newstats(u) % Primary function % NEWSTATS Find mean and median with internal functions. n = length(u); avg = mean(u, n); med = median(u, n); function a = mean(v, n) % Calculate average. a = sum(v)/n; function m = median(v, n) % Calculate median. w = sort(v); if rem(n, 2) == 1 m = w((n+1) / 2); else m = (w(n/2) + w(n/2+1)) / 2; end 以上就是一个大的程序 function nestats,它下面另外包含了两个小的 function mean 和 median,这样在大程序的里面就可以以如上的方式调用它们了。子程序的好处在于如果你 总是要重复用到一组计算方式的时候, 那你就把这组重复计算方式类似以上的方法编写成一 个子程序,避免大量重复代码。在 M 文件里面,会看到最外层,也就是最上面那一一行 function varargout = setfire(varargin) % Subfunction % Subfunction

MATLABGUI入门简单实例(加法计算器)

MATLABGUI入门简单实例(加法计算器)

本人初学GUI ,针对网上版本的混乱,学得一头雾水,特重新整理如下,供大家参考。

1.首先我们新建一个 GUI 文件:File/New/GUI 如下图所示;选择 Blank GUI(Default),点击 OK 。

2.进入GUI 开发环境以后添加 3个编辑文本框(Edit Text ),2个静态文本框(Static Text ), 和一个Push Button 按钮,布置如下图所示;⑷修改Pushbutton 按钮的属性,“ string 改为“ Add ” “ tag 改为“ add ”⑸另外2个Static 文本就是的“ string 修改为"+ ”"=”(6)点击“保存”,名字任意取,自动弹出 M 文件(我的是7.0版本,不知其他版本会不 会如此)。

(1) 第一个 “in putl ”(2) 第二个 “input2 ”(3)第三个“ Edit Text! ”的用来存储第一个加数,我们将“Edit Tex2”的用来存储第二个加数,我们将"Edit Tex3"的 “string 改为 “Q ” “tag 为““ string 改为 “ 0,” “ tag 改为 “ string 改为 “ 0” “ tag 改为 an swer3•我们先为第一个Edit Text文本框添加代码,即读取第一个加数;点击上图所示红色方框,选择input1_Callback,光标便立刻移到下面这段代码(程序自动生成)的位置。

function in put1_Callback(hObject, even tdata, han dies)% hObject han dle to in putl (see GCBO)% eve ntdata reserved - to be defi ned in a future version of MATLAB% han dles structure with han dles and user data (see GUIDATA)% Hints: get(hObject, ' String ' ) returns cpnttlnasoext% str2double(get(hObject, ' String ' )) returnscontents of editl as a double然后在上面这段代码的下面插入如下代码:%以字符串的形式来存储数据文本框1的内容•如果字符串不是数字,则现实空白内容input=str2num(get(hObject,'String')); %检查输入是否为空.如果为空,则默认显示为0 if(isempty(i nput))set(hObject,'Stri ng','0')endguidata(hObject,handles);%保存handles结构体,只要在handles结构体有改变时,才需要保存%guidata(hObject, handles);%这里由于handles没有改变,故这里其实没有必要,但是为了避免潜在的不必要麻烦,建议在所有Callback都添加该命令。

Matlab对话框GUI界面教程

Matlab对话框GUI界面教程

MATALB的标准图形用户界面1. 消息对话框msgbox函数。

它不接受用户的任何输入,在用户单击OK按钮后,对话框自动关闭,然后返回程序中继续执行。

>> msgbox('欢迎使用MATLAB') % 建立一个没有标题的消息对话框>> msgbox('欢迎使用MATLAB','MATALB','warn') %% 建立一个有标题的消息对话框2. 错误对话框errordlg函数。

>> errordlg %建立一个默认参数的错误对话框>> errordlg('这是一个错误对话框','MATLAB error') %建立一个名为MATLAB error的错误对话框3. 警告对话框warndlg函数。

>> warndlg %建立一个默认参数的警告对话框>> errordlg('这是一个警告对话框','MATLAB warning')4. 帮助对话框helpdlg函数。

>> helpdlg('你需要帮助吗?','MATLAB Help')5. 进度条设置对话框waitbar函数。

作用是反映程序运行的完成情况。

h=waitbar(0,'请稍等......')for i=1:10000waitbar(i/10000)end6.输入对话框inputdlg函数。

prompt={'输入梯形的上底:','输入梯形的下底','输入梯形的高'};%设置提示字符串name='Enter trapeaia Data';%设置标题numlines=1;%指定输入数据的行数defAns={'20','50','40'};%设定默认值Resize='on';%设定对话框尺寸可调节answer=inputdlg(prompt,name,numlines,defAns,'on')%创建输入对话框7. 列表对话框listdlg函数。

Matlab-GUI学习指南

Matlab-GUI学习指南
第27页,共92页。
第七章 GUIDE入门
提示:
第3页,共92页。
第七章 GUIDE入门
图7-1 MATLAB图形用户界面示例
第4页,共92页。
第七章 GUIDE入门
通过如图7-1所示的界面,用户可以不必过多了解内部细节就可 以使用MATLAB的强大数据可视化和计算的功能了。例如,单击用 户界面右边的按钮,可以在图形窗体的绘图区域绘制各种图形,同 时在文本显示区域显示具体命令行代码,如图7-2所示。
HandleVisibility = on
HitTest = on
Interruptible = on Parent = [101.001] Selected = off
SelectionHighlight = on Tag = Type = line UIContextMenu = []
UserData = [] Visible = on
005 % 修改坐标线的色彩 006 set(0,'DefaultAxesXColor',[0.5 0 0]);
007 set(0,'DefaultAxesYColor',[0.5 0 0]); 008 % 修改文本的色彩
第24页,共92页。
第七章 GUIDE入门 009set(0,'DefaultTextColor',[0 0.5 0]);
除了能够直接设置具体图形对象的属性以外,MATLAB还允许用户 对图形对象的默认属性进行修改。所谓图形对象的默认属性,就是那些 MATLAB图形对象所固有的预定义的“出厂设置”,例如在默认的条件 下图形窗体的背景色为深灰色,而坐标轴的背景色为白色等,在没有指定 特殊的属性值之前,MATLAB就使用这些默认的图形对象属性来显示图 形对象。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11 图形用户界面(GUI )制作用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。

如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。

图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。

用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。

假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。

但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。

MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。

MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。

即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。

为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。

读者只要输入所提供的程序,就可引出相应的界面。

本章第2节叙述图形用户界面的设计原则和一般制作步骤。

第3、4节分别介绍用户菜单、用户控件的制作。

出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。

利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。

MATLAB 5.x 版为方便用户制作图形界面,提供了一个交互式的设计工具guide 。

关于该工具的使用方法,被放在第6节中,以一个综合例题为设计目标逐步展开。

在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第10章关于图柄的内容。

11.1 入门【*例11.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。

本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标方格控制键的形成;(D )如何使用该界面。

(1)产生图形窗和轴位框: clf resetH=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H);str='\fontname{隶书}归一化二阶系统的阶跃响应曲线'; text(0.12,0.93,str,'fontsize',13); h_fig=get(H,'parent');set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]); h_axes=axes('parent',h_fig,...'unit','normalized','position',[0.1,0.15,0.55,0.7],... 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8);图 11.1-1 产生坐标轴(2)在坐标框右侧生成作解释用的“静态文本”和可接受输入的“编辑框”:h_text=uicontrol(h_fig,'style','text',...'unit','normalized','position',[0.67,0.73,0.25,0.14],...'horizontal','left','string',{'输入阻尼比系数','zeta ='});h_edit=uicontrol(h_fig,'style','edit',...'unit','normalized','position',[0.67,0.59,0.25,0.14],...'horizontal','left',...'callback',[...'z=str2num(get(gcbo,''string''));',...'t=0:0.1:15;',...'for k=1:length(z);',...'s2=tf(1,[1 2*z(k) 1]); ',...'y(:,k)=step(s2,t);',...'plot(t,y(:,k));',...'if (length(z)>1) ,hold on,end,',...'end;',...'hold off,']);图 11.1-2 在图形界面中添加编辑框和文本框(3)形成坐标方格控制按键:h_push1=uicontrol(h_fig,'style','push',...'unit','normalized','position',[0.67,0.37,0.12,0.15],...'string','grid on','callback','grid on');h_push2=uicontrol(h_fig,'style','push',...'unit','normalized','position',[0.67,0.15,0.12,0.15],...'string','grid off','callback','grid off');图 11.1-3 添加了两个按键的图形界面(4)输入阻尼比系数 ,可得单位阶跃响应曲线:图 11.1-4 输入标量阻尼比所得到的响应曲线图 11.1-5 输入阻尼比数组所得到的一组响应曲线11.2图形用户界面的设计原则和一般步骤11.2.1设计原则11.2.2一般制作步骤11.3界面菜单(uimenu)11.3.1图形窗的标准菜单【例11.3.1-1】本例说明:如何隐藏和恢复标准菜单的显示。

(1)获得缺省设置的标准菜单figure(2)隐去标准菜单的两种方法set(H_fig , 'MenuBar','none');set(gcf,'menubar',menubar);(3)恢复图形窗上标准菜单set(gcf,'menubar','figure');图 11.3.1-1 含有菜单条的图形窗图 11.3.1-2 移去菜单条的图形窗11.3.2自制的用户菜单【*例11.3.2-1】本例演示:如何自制一个带下拉菜单表的用户菜单(如图11.3.2-1所示)。

该菜单能使图形窗背景颜色设置为兰色或红色。

figure %创建一个图形窗h_menu=uimenu(gcf,'label','Color'); %制作用户顶层菜单项Color <2>h_submenu1=uimenu(h_menu,'label','Blue',...%制作下拉菜单项Blue <3> 'callback','set(gcf,''Color'',''blue'')'); %<4>h_submenu2=uimenu(h_menu,'label','Red',...%制作下拉菜单Red <5> 'callback','set(gcf,''Color'',''red'')'); %<6>图 11.3.2-1 创建用户菜单示例11.3.3用户菜单的属性11.3.3.1回调属性和菜单名【*例11.3.3.1-1】本例的目标是:在图形窗上自制一个名为【Test】的“顶层菜单项”;当用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。

通过本例说明:(A)回调属性的运作机理;(B)用户顶层菜单项的制作(C)uimenu属性的设置方法;(D)复杂字符串的构成方法和注意事项。

(1)在MATLAB指令窗中运行以下程序可产生带分格的封闭坐标轴(见图11.3.3.1-1)grid on,set(gca,'box','on')图11.3.3.1-1 带分格的封闭坐标轴(2)在MATLAB指令窗中用以下eval指令可产生与图11.3.3.1-1相同的界面eval('grid on,set(gca,''box'',''on'')')(3)产生图11.3.3.1-2界面的uimenu的书写格式一:直接连续表示法uimenu('Label','Test','Callback','grid on,set(gca,''box'',''on''),')图11.3.3.1-2 通过顶层菜单Test形成的带分格的封闭坐标轴(4)产生图11.3.3.1-2界面的uimenu的书写格式二:方括号续行号表示法uimenu('Label','Test', ...'Callback',['grid on,' , ...'set(gca,''box'',''on'');'])(5)产生图11.3.3.1-2界面的uimenu的书写格式三:串变量法Lpv='Test';Cpv=['grid on,','set(gca,''box'',''on''),'];uimenu('Label', Lpv, 'Callback' , Cpv)(6)产生图11.3.3.1-2界面的uimenu的书写格式四:构架表示法bel='Test';PS.Callback=['grid on;','set(gca,''box'',''on'');'];uimenu(PS)11.3.3.2设置简捷键或快捷键【*例11.3.3.2-1】本例目标:使图11.3.2-1所示菜单成为图11.3.3.2-1那样,Color菜单项及其下拉的Blue菜单各带一个简捷键,而另一项下拉菜单Red带一个快捷键。

相关文档
最新文档