MATLAB GUI新手备忘录
MATLAB GUI的总结
初学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=(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=(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(Graphical User Interface,图形用户界面)功能可以帮助用户设计出直观、交互性强的界面,提高使用效率和易用性。
本篇教程将介绍如何利用MATLAB的GUI功能创建一个实用的界面。
首先,打开MATLAB软件,并在"Home"选项卡中选择"New Script"创建一个新的脚本。
在脚本中,我们将使用MATLAB的GUI工具箱中的"App Designer"来创建界面。
除了按钮的点击事件外,还可以处理其他各种事件。
例如,通过为文本框添加"ValueChangedFcn"回调函数,可以在文本框内容发生更改时执行相应的操作。
在界面设计完成后,可以通过点击"Run"按钮来运行应用程序,并与用户进行交互。
可以输入文本、选择菜单项、点击按钮等等,然后根据用户的输入做出相应的反应。
通过与用户的交互,可以进行各种有用的计算和处理。
值得一提的是,MATLAB的GUI功能还支持将用户界面保存为独立的应用程序,并与其他MATLAB代码集成。
这意味着界面所包含的各种计算和分析能力可以通过编写MATLAB函数来实现,然后在界面的回调函数中调用这些函数。
这为用户提供了更大的自由度和灵活性,以满足不同需求的应用场景。
经典GUI基础入门:MATLAB中GUI用户图形界面学习
GUI指导教程系列(1):GUI入门基本操作为什么在MATLAB中要使用GUI呢?其实GUI就是Matlab中的Visual Basic,是面向对象的编程,可以使Matlab程序的终端用户,即使不懂的Matlab也可以轻易操作该程序!如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都是这个能力。
就好比计算机的DOS 系统,在有windows的情况下,您会选择DOS吗?当然我们也不排除骨灰级的人物!在本节教程我们主要针对没有GUI创建和使用经历的网友,但是必要的MATLAB 基础知识是需要的。
在教程中我们将创建一个简单的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在编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。
经典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在编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。
matlabGUI学习笔记
Matlab GUI学习笔记任务一:创建一个简单的GUINew--->GUI--->名称及保存地址拖动要添加的组件至界面,双击界面的任意地方修改界面的颜色等属性(property inspector)任务二:按钮的使用,图片读取,高分辨率1.鼠标拖动改变按钮位置及大小2.右击按钮---》property inspector可以更改按钮上的文字特征及按钮底色等3.右击按钮---》viewcallbacks--->callback--->编写函数建立按钮与实际操作之间的关系例如:建立读取文图片按钮[filename,pathname]=...uigetfile({‘*.jpg’;’*.bnp’;’*.gif’},’选择图片’); str=[pathname filename];imread(str);%使用第一个axes显示图片axes=(handles.axes1);imshow(str);任务三:radiobutton(单选按钮),switch语句,图像边缘在界面添加按钮群button group,然后将radiobutton拖至其中在buttongroup中右击---》viewcallbacks--->selectionchangeFcn 然后在此函数下键入%声明全局变量imglobal im%拿到用户选择按钮的名称,注意Object首字母大写str=get(hObject,’string’);axes(handles.axes1);switch strcase ‘原图’imshow(im);case ‘sobel’bw=edge(rgb2gray(im),’sobel’;%以sobel方式检测边缘imshow(bw);case ‘prewitt’bw=edge(rgb2gray(im),’prewitt’);imshow(bw);case ‘canny’bw=edge(rgb2gray(im),’canny’);imshow(bw);End任务四:创建学生成绩查询系统的界面新建一个GUI,将listbox(列表框)拖至界面,修改属性值至需要的值;将editor text(用于显示动态的文本)拖至界面,修改相应属性至需要的值;将static text(用于显示不变的文本)拖至界面,修改相应属性至需要的值。
Matlab GUIDE使用总结--Matlab GUI界面
2. 使用 GUIDE 快速的生成GUI界面
显然第二种可视化编辑方法算更适合写大型程序。
GUI
1. .m
例如
h_main=figure(‘name’,‘a demo of gui design’,‘menubar’,‘none’,…
该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求
值。
(4)CreateFcn:在对象产生过程中执行的回调函数。
(5)DeleteFcn:删除对象过程中执行的回调函数。
(6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的
(1)get函数返回某些对象属性的当前值。例如:
p=get(obj,'Position');
(2)函数set改变句柄图形对象属性,例如:
set(obj,'Position',vect);
在一个m文件中,可以定义多个函数,但是文件名一定要与第一个函数(主函数)一致,
你可以使用属性编辑器来设置属性
CallBack
每个控件都有几种回调函数,右键选中的控件一般会有如下菜单:
然后就可以跳转到相应的 Editor中编辑代码,GUIDE会自动生成 相应的函数体,函数名,
名称一般是 控件 Tag+ Call类型名 参数有三个 ( hObject, eventdata, handles)
(1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:
排队(默认设置)。 (2)ButtonDownFcn属性:按钮按下时的处理函数。
(3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应
【资源】MatlabGUI(图形用户界面)的心得,附编程中文参考手册
【资源】MatlabGUI(图形用户界面)的心得,附编程中文参考手册Matlab GUI编程中文参考手册先给大家介绍几句:一、GUI是什么。
Graphic User Interface, (图形用户界面) :其实GUI其实只是一个图形界面,能比较形象的,生动的把模拟、运算结果表现出来。
它只是一个包装外壳。
您开发的程序,最好用这个包装起来,这样别人用的时候会方便很多很多. 具体的算法,运算,分析是相对独立与GUI存在的。
换句话说,GUI可以只有外壳,而没有内容;或者你预先做好的算法都可以套进一个做好的GUI里去。
(当然,GUI也是由m文件构成的。
)但另一个方面,GUI是用来人机交流的界面。
所以,用户具体的行为,比如运行某一功能,暂停,重置,弹菜单,切换机面等等,在GUI中要精心设计。
逻辑要精密,考虑要全面。
二、开始设计GUI。
命令guide可以运行matlab的界面设计工具,这是一个所见即所得的工具(根据个人体会,位置稍有偏移,但制是非常小的范围内)。
操作简单,拖拖放放,不用多言。
存盘运行时,guide可以自动为你创建fig文件(可选)和主函数。
值得一提的是物件布局工具(Align object),可以精确排列多个物件,包括对齐,间距等等。
各种object包括menu,line等等一共有十几种。
具体的细节可以参考matlab帮助,各自有自己的特性和用途。
其中最重要的是Callback 性质。
用button来举例,Callback就是按下按钮后,将会执行的功能。
在guide中双击某个按钮,在弹出的属性设置窗口中就能找到Callback项目。
你可以使用guide自动创建的函数。
也可自己写一个m文件或者函数文件。
把名称添到Callback即可。
其它物件都类似。
这一属性的设置,决定了大多数GUI的控制和行为。
Tag属性可以用来区别各个控件。
另外,enable,visiable,Position也是经常使用的属性。
Matlab的GUI编程帮助文件提纲
Matlab的GUI编程帮助文件提纲所有资料都取自于MATLAB帮助文件,详情请见帮助“MATLAB \Creating Graphical User Interfaces”。
1、Getting Started with GUIDE2、Example: Creating a GUI2.1Designing the GUI2.2Laying Out the GUI注意:打开已存在的GUI文件进行编辑修改时,请在新建“GUI”时选择“Open Existing GUI”。
2.3Programming the GUISharing Data Between Callbacks(共享数据)2.4Saving and Running the GUI3、MATLAB GUIs3.1 What Is a GUI?3.2 Creating GUIs with GUIDE3.3 Using GUIDE Templates3.4 Example: Using the Modal Dialog to Confirm an Operation3.5 Example: Displaying an Image File3.6 Selecting GUI Options3.7 User Interface Controls各控件使用方法。
GUIs with Multiple Axes:axes(handles.axes1)3.8 Renaming GUI Files and Tags3.9 Exporting a GUI to a Single M-File4、GUIDE Layout Tools4.1 Laying Out GUIs - The Layout Editor4.2 Aligning Components in the Layout Editor4.3 Setting Component Properties - The Property Inspector 4.4 Viewing the Object Hierarchy - The Object Browser 4.5 Creating Menus - The Menu Editor4.6 Setting the Tab Order - The Tab Order Editor5、Programming GUIs5.1 Understanding the GUI M-FileSharing Data with the Handles Structure5.2 Managing GUI Data with the Handles Structure Example: Passing Data Between Callbacks5.3 Designing for Cross-Platform Compatibility5.4 Types of Callbacks5.5 Interrupting Executing Callbacks5.6 Controlling Figure Window Behavior6、Application Examples6.1 GUI with Multiple Axes6.2 List Box Directory Reader6.3 Accessing Workspace Variables from a List Box6.4 A GUI to Set Simulink Model Parameters6.5 An Address Book Reader。
matlab-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文件。
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新手备忘录1、从最简单的开始编程最基本的目的就是——我执行一个操作,程序做出一个反应。
“一个操作”包括:点击鼠标,拖动滑块,填写数据,选择选项……“做出一个反应”包括:计算一些东西,然后储存在哪里,或者贴个图出来,或者显示在哪里……-------------------------------------------------------------------------------------------------------------------编程的基本思想:目的->当点击按钮A时,然后执行任务C,则->进入按钮A的回调函数callback里,写下任务C的代码。
-------------------------------------------------------------------------------------------------------------------a:不知道callback在哪??右键单击按钮,view callbacks->选择callback)别的控件也一样。
a:不同的回调函数啥意思??callBack最常用的就是它。
如果控件是按钮,那点击按钮时,则按钮下的Callback就会执行;如果是滑块,则拖动滑块时,滑块名下的callback就会执行;总之,就是对控件默认操作时,matlab后台就会自动调用它名下的的callback。
正常用途,全放在callback下就够了。
如果其他的,实在是想知道,了解一下也未尝不可。
ButtonDownFcn就是鼠标在它(代指各种控件)上面点击一下,你放在这个函数名下的代码就会执行。
(ps:按钮的callback也是点击,所以会覆盖掉这个buttondownfcn。
)CreateFcn顾名思义,在生成这个控件,显示之前,执行你放在这个函数名下的代码;DeleteFcn一样。
MATLAB GUI设计与实现指南
MATLAB GUI设计与实现指南MATLAB是一款功能强大的数学软件,广泛应用于科学研究、工程设计和数据分析等领域。
与其它编程语言相比,MATLAB的图形用户界面(GUI)设计功能让程序的可视化展示更加生动和直观。
本篇文章旨在为读者提供一份MATLAB GUI设计与实现的指南,帮助他们充分利用MATLAB的GUI工具,打造出更加灵活、易用的交互界面。
一、GUI设计的基础知识在进行GUI设计之前,我们首先需要了解一些基础知识。
MATLAB提供了一系列的GUI设计工具箱,其中最常用的是GUIDE工具箱。
GUIDE工具箱可以帮助我们快速地创建GUI界面,并且具有丰富的可视化组件库以及自定义布局功能。
熟悉这些工具是进行GUI设计的基础。
除了GUI工具箱,MATLAB还提供了一些重要的GUI设计原则。
例如,界面的布局应该简洁明了,不要过分拥挤;按钮和菜单的位置应该符合用户的直觉,便于操作;使用控件的颜色和图标来增加界面的美观性等等。
遵循这些原则可以提高用户体验,使得GUI更加易于理解和操作。
二、创建GUI界面创建GUI界面是GUI设计的第一步。
在MATLAB中使用GUIDE工具箱可以非常方便地完成这个任务。
打开MATLAB后,点击“APPS”选项卡,然后选择“GUIDE”工具箱。
接着,选择“Blank GUI”选项创建一个新的GUI界面。
在创建界面之后,我们可以开始选取需要的组件来设计和布局我们的GUI界面。
GUIDE工具箱提供了多种常用的组件,例如按钮、滑块、文本框等。
通过简单的拖拽和调整,我们可以将这些组件放置到界面中,并设置它们的属性和事件。
三、编写GUI代码在完成GUI界面的设计之后,我们需要对每个组件编写相应的代码。
这些代码可以实现不同的功能,例如对用户的输入进行验证、计算数据并输出结果等。
而在MATLAB中,我们可以使用回调函数来实现这些功能。
回调函数是与GUI组件相关联的函数,当用户与组件交互时,回调函数会被自动调用。
matlab常用操作备忘
matlab常用操作备忘*********************************matlab常用操作备忘(1)管理命令和函数addpath :添加目录到MATLAB搜索路径ﻫdoc :在Web浏览器上现实HTML文档help :显示Matlab命令和M文件的在线帮助helpwinﻫhelpdesk :help 兄弟几个lookfor :在基于Matlab搜索路径的所有M文件中搜索关键字partialpath:部分路径名8*)path :所有关于路径名的处理ﻫpathtool :一个不错的窗口路径处理界面rmpath :删除搜索路径中指定目录ﻫtype :显示指定文件的内容ver:版本信息ﻫversion :版本号web :打开web页what :列出当前目录下所有的M文件Mat文件和Mex文件whatsnew :显示readme文件ﻫwhich :显示文件位置(2)管理变量和工作区clear :从内存中删除所有变量,clear x y z是删除某个变量disp:显示文本或数组内容length:数组长度(最长维数)load :重新载入变量(从磁盘上)ﻫmlock :锁定文件,防止文件被错误删除munlock:解锁文件openvar :在数组编辑器中打开变量ﻫpack :整理内存空间ﻫsave :保存变量到文件 8*)ﻫsize :数组维数whoﻫwhos :列出内存变量workspace :显示工作空间窗口(3)管理命令控制窗口(command窗口)clc :清空命令窗口echo :禁止或允许显示执行过程ﻫformat :设置输出显示格式ﻫhome :光标移动到命令窗口左上角ﻫmore :设置命令窗口页输出格式(4)文件和工作环境cd :改变工作目录ﻫcopyfile :复制文件delete :删除文件和图形对象diary:把命令窗口的人机交互保存到文件dir :显示目录edit :编辑文本文件ﻫfileparts :返回文件的各个部分ﻫfullfile :使用指定部分建立文件全名inmem :返回内存(伪代码区)的matlab函数名ﻫls :在unix系统中列出目录(win中亦可)matlabroot :根目录ﻫmkdir :新建目录ﻫopen :打开文件ﻫpwd :显示当前目录tempdir :返回系统临时目录的名字ﻫtempname :随机给出一个临时字符串(可用作文件名)! :直接调用操作系统command命令(5)启动和推出matlabmatlabrc:Matlab的启动M文件ﻫexitﻫquit :退出Matlabstartup :运行matlab启动文件(6)程序设计builtin:从可重载方法中调用内置函数:执行包含可执行表达式的字符串c :计算并返回表达式的值in :执行某个工作空间中的包含表达式的字符串ﻫf :执行函数(从函数名或函数句柄)function :函数头ﻫglobal :定义全局变量nargchk :检查输入参数数目persistent :定义常量ﻫscript:作为脚本的M文件(7)流程控制break :停止执行循环ﻫcase:case语句,switch 语句一部分ﻫswitch switch_exprﻫ case case_exprﻫ statmentsﻫ caseotherwiseﻫendﻫcatch :try-catch语句一部分,捕捉程序else :if条件语句一部分ﻫelseif :if条件语句一部分end :终止for、while、switch、try和if语句error :显示错误信息ﻫfor :循环语句一(确定次数)if:if条件语句other :switch语句一部分return :返回到调用函数switch :开关语句try :try程序块ﻫwarning :类似于disp,但可被禁止ﻫwhile :循环语句(次数不确定)(8)交互输入input :交互输入ﻫkeyboard :在M文件中遇到keyboard时将在命令窗口产生交互直到输入return命令menu :为用户输入产生一个选择菜单pause :暂停(9)面向对象class :创建一个对象或者返回一个对象类ﻫdouble:转换为双精度ﻫinferiorto :亚类关系inline :创建一个内联函数ﻫint8,int16,int32:转换到符号整数ﻫisa :检查是否为所给类的对象ﻫloadobj :load函数用户定义扩展saveobj :save函数用户定义扩展single :转换为单精度ﻫsuperiorto :超类关系uint8,uint16,uint32: 转换到无符号整数(10)调试命令dbclear :断点清除dbcont :重新开始执行ﻫdbdown :改变当前工作空间ﻫdbmex :调试Mex文件ﻫdbquit :退出调试模式ﻫdbstack :显示函数调用堆栈dbstatus :列出所有断点ﻫdbstep :从断点处执行ﻫdbstop :设置断点dbtype:列出带行号的M文件内容ﻫdbup :改变当前工作空间lasterr :返回Matlab中产生的最后一个异常信息。
Matlab-GUI学习指南
第七章 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就使用这些默认的图形对象属性来显示图 形对象。
《MATLAB GUI设计入门与实战》读书笔记思维导图PPT模板下载
9.3 串口通信 9.4 本章小结
01
10.1 数 据概率密 度函数统 计GUI设 计
02
10.2 曲 线线型及 颜色更改 GUI设计
03
10.3 数 据拟合 GUI设计
04
10.4 倒 立摆系统 GUI设计
05
10.5 图 像颜色空 间转换 GUI设计
06
10.6 图 像灰度处 理GUI设 计
01
4.8 Figure动画 显示
4.9 自定义菜单 设计
4.10 本章小结
01
5.1 GUI 打开、关 闭与保存
02
5.2 GUI 按钮
03
5.3 GUI 滑块
04
5.4 GUI 单选按钮
06
5.6 GUI 可编辑文 本
05
5.5 GUI 复选框
01
5.7 GUI 静态文本
02
5.8 GUI 弹出式菜 单
03
5.9 GUI 列表框
04
5.10 GUI切换 按钮
05
5.11 GUI表
06
5.12 GUI轴
5.13 GUI面板 5.14 GUI按钮组
5.15 GUI ActiveX控件
5.16 本章小结
01
6.1 GUI 工具栏启 动
02
6.2 GUI 新建
03
6.3 GUI 打开
04
6.4 GUI 保存
01
3.1 文 件打开操 作 uigetfi le
02
3.2 路 径选择对 话框 uigetdi r
03
3.3 文 件保存操 作 uiputfi le
04
3.4 程 序运行进 度条 waitbar
Matlab软件个人学习笔记精品
MATLAB软件学习笔记By John.Lee or emc1207第一部分MA TLAB软件入门基础1.1 MATLAB软件介绍在欧美各高等学校,MA TLAB软件成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等诸多课程的基本教学工具,成为本科生、硕士生和博士生的必须掌握的基本技能。
主要用途:(1)数值和符号计算;(2)绘图;(3)一种语言体系,也可以方便地与Fortran、C等语言接口。
(4)工具箱(Toolbox),分为功能性和学科性两种类。
同时,其工具箱的数据文件代码完全开发,用户也可以开发自己的工具箱。
功能性工具箱主要用来扩充MA TLAB软件的符号计算功能、图视建模仿真功能、文字处理功能以及硬件实时交互功能。
这种功能性工具箱用于多种学科。
而学科性工具箱是专业性比较强的,如控制工具箱(Control Toolbox)、信号处理工具箱(Signal Processing Toolbox)、通信工具箱(Communication Toolbox)等都属此类。
MA TLAB语言的主要特点:(1)语法规则简单。
与其他编程语言相比更接近于常规数学表达,对于数组变量的使用,不需类型声明,也无需事先申请内存空间。
(2)提供了数以千计的计算函数,极大的提高了用户的编程效率。
(3)是一种脚本式(scripted)的解释型语言,无论是命令、函数或变量,只要在命令窗口的提示符下键入并以回车键结束,则MA TLAB都会予以解释执行。
(4)可移植性,可跨平台运行。
MA TLAB软件可以运行在很多不同的计算机系统平台上,包括大部分的UNIX和Linux系统,其编写的程序对应的数据文件是一致的,绘图功能也与平台无关。
1.2 MATLAB系统环境与数据操作1.2.1 系统路径设置两个路径概念:(1)当前目录窗口:指MA TLAB运行时的工作目录。
只有在当前目录和搜索路径下的文件、函数才可以被运行和调用;如果没有特殊指明,数据文件也将存放在当前目录下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
qiumu退出柚籽M学校:大学士发短消息当前离线math 管理员帖子精华积分威望金钱阅读权限在线时间7376 14 8506 173 M 点 1737 M 币 200 4690 小时发短消息加为好友当前在线需要协助么?点击这里联系我们的工作人员引用 报告 评分 回复 TOP帖子精华积分威望金钱阅读权限在线时间M 学校:大学士柚籽718 5 1004 46 M 点 1092 M 币 50 746 小时发短消息加为好友当前离线3#大中小发表于 2007-11-12 02:19 只看该作者3、怎么获得和设置控件的属性通俗的说,就是我怎么获取 编辑框里的字符,滑块现在的位置,pop up 里被选中的选项,如何控制 static text 显示我要求的信息 控件的属性当然远不止我刚刚说的。
在你需要的地方插入以下代码:设置:set (handles.你控件的tag,'要设置的属性名','要设置的属性值')获取:get (handles.你控件的tag,'要获取的属性名') 比如:set(handles.edit1,'string','hello world');help 里可以看到所有可能有用的属性MATLAB->Creating Graphical User Interfaces->Laying Out GUIs and Setting Properties->What Properties Do I Need to Set?4. 数据怎么在不同的控件之间传递知道了GUI 的数据管理规则,这个就很简单了。
-------------------先看在一个GUI 界面内部的传递的数据 每一个控件的回调函数头:function myc_Callback(hObject, eventdata, handles)第一个参数是hObject ,是跟这个callback 所关联的控件的handles ,在它自己的callback 下,可以用代号-> hObject 来调用它。
不用管那么麻烦的概念,只用知道,控件自己的回调函数调用自己的属性,只用hObject.属性名 就可以了(中间一点)。
第二个参数是MATLAB的保留参数第三个handles,是这个GUI界面的代号。
可以通过它获取这个界面的所有信息。
所以在控件A自己的回调函数中,要获取或者设置别的控件的属性,就用 handles.别的控件Tag.属性------------------------------handles hObject 都是结构体。
正常的编程概念。
handles格式是一个存放数据的缸。
控件的handles是小缸,它的名字叫做hObject;GUI界面的handle是一个大缸,并且这个缸名字也叫做handles;大缸里存放了所有的小缸和所有用户数据,你只需 handles.控件A的tag 就可以存取控件A的信息。
那我怎么把自己计算出或者别的什么数据放到这个缸里呢?^_^ 在任何地方handles.自己的变量名 = 某些值(其实也就是给结构体添加成员变量)这样你就定义了自己的变量。
在任何地方b=handles.自己的变量名(结构名加点号来引用成员变量)就可以得到这个变量值,同样也可以修改它。
别忘了使用guidata(hObject, handles);(不用改,直接黏贴)在函数末尾来保存你对handles和hObject的操作。
(不然你自定义的变量就没了)-----------------------5、在不同GUI之间传递数据-----------这部分是以前写的我发现我的理解有些问题---所以我现在传递数据用的application data的方法,没用这个-。
可能还没理解透output的函数作用------------------------传入那就来看打开一个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并返回结果则b就得到了传出来的结果。
---------------------------------------------------------------------------------;P[本帖最后由柚籽于 2008-4-6 15:44 编辑]需要协助么?点击这里联系我们的工作人员引用报告评分回复 TOP帖子精华积分威望金钱阅读权限在线时间M学校:童生小小驴阿易15160 M点0 M币1016 小时发短消息加为好友当前离线4#大中小发表于 2007-11-13 15:45 只看该作者回复 3# 的帖子大概懂了,但是不会用,如果能各种功能,都来个实际程序给我们看看,学习起来更容易。
光看文字,很难理解。
需要协助么?点击这里联系我们的工作人员引用报告评分回复 TOP帖子精华积分DennyM学校:童生canarios15175#大中小发表于 2007-11-16 17:45 只看该作者Button Groups ------------------function .......switch get(hObject,'Tag'); %注意这里的hObject和别的不同,并不是指这个BUttonGroup,而是指在组里面,被选中的那个控件case 'radio button1' %按钮1的tag %。
case '按钮2的tag' %。
end ----------附:所以在这里,如果要拿到button groups本身的话,就用handles.它的tag名中间一个点。
威望金钱阅读权限在线时间0 M 点 0 M 币 10 46 小时发短消息加为好友当前离线写的好,本人也想写这样的一个总结的。
在help 里好像hObject 就是指 botton group ,我后面试过了就是被选中的那个控件 ,结果和楼主的结果是一样的。
引用 报告 评分 回复 TOP帖子精华积分威望金钱阅读权限在线时间DennyM 学校:童生canarios 15 0 17 0 M 点 0 M 币 10 46 小时发短消息加为好友当前离线6#大中小发表于 2007-11-16 17:47 只看该作者总结的很不错,本人也想做这样的总结的,有人做了更好了,可以为我所用,谢谢。
引用 报告 评分 回复 TOP帖子精华积分威望金钱阅读权限在线时间四季M 学校:秀才shixiuao 35 0 37 0 M 点 0 M 币 10 40 小时发短消息加为好友当前离线7#大中小发表于 2007-11-16 19:19 只看该作者大家都说不错,看来应该是不错的啦,我刚学,正好借鉴一下.引用 报告 评分 回复 TOPjasonryan8#大中小发表于 2007-11-18 11:10 只看该作者帖子精华积分威望金钱阅读权限在线时间M学校:秀才62741 M点7 M币10166 小时发短消息加为好友当前离线我们的课程用MATLAB的地方相当的多,最近在给老师写程序,GUI是最后的一步。
以前的GUI总是有很多不明白的地方,以后还请大家多多指教!引用报告评分回复 TOP帖子精华积分威望金钱阅读权限在线时间M学校:童生peter19190 M点22 M币1010 小时发短消息加为好友当前离线9#大中小发表于 2007-12-19 12:36 只看该作者Thank You!:) 谢谢楼主!受益匪浅!:handshake引用报告评分回复 TOP帖子精华小春M学校:童生gbc610#大中小发表于 2007-12-20 10:50 只看该作者THANK YOU有收获,谢谢:handshake发短消息当前离线最近访问的版块。