2019-Matlab的图形用户界面GUI-文档资料
在MATLAB中创建用户界面和GUI应用程序
在MATLAB中创建用户界面和GUI应用程序MATLAB是一种广泛应用的数学软件,对于数据分析和科学计算具有强大的功能。
然而,仅仅通过MATLAB的命令行窗口进行操作往往不够便捷,特别是当需要进行大量的重复性操作时。
为了解决这个问题,MATLAB提供了创建用户界面(User Interface,简称UI)和GUI(Graphical User Interface)应用程序的功能。
1. GUI应用程序的基本概念GUI应用程序可以通过可视化的方式与用户进行交互,通过按钮、滑块、文本框等控件来实现用户与程序的数据传递和操作。
在MATLAB中创建GUI应用程序的首要步骤是创建一个GUI窗口,可以通过MATLAB提供的GUIDE(GUI Development Environment)工具进行操作,也可以通过编写代码的方式来创建。
2. 使用GUIDE创建GUI应用程序GUIDE是MATLAB提供的一个可视化工具,可以帮助用户创建GUI应用程序。
使用GUIDE可以通过拖拽控件的方式来创建窗口,并使用属性编辑器对控件进行设置。
例如,可以添加按钮和文本框,并设置按钮的回调函数,以实现按下按钮时触发特定的操作。
GUIDE还提供了布局管理器,使得控件的排列和布局更加灵活。
创建完成后,GUIDE会生成一个.m文件和一个.fig文件,分别对应GUI应用程序的代码和界面。
3. 通过编写代码创建GUI应用程序除了使用GUIDE,用户还可以通过编写代码的方式来创建GUI应用程序。
首先,需要创建一个窗口,可以使用MATLAB中的`figure`函数来实现。
然后,可以使用不同的MATLAB函数来添加各种控件,例如`uicontrol`函数用于添加按钮,`uimenu`函数用于添加菜单等。
通过设置控件的属性和回调函数,可以实现控件的响应和交互。
4. GUI应用程序实例假设我们需要一个简单的计算器应用程序,用户可以输入两个数值并选择进行加法、减法、乘法或除法运算。
在Matlab中使用GUI设计用户界面
在Matlab中使用GUI设计用户界面引言Graphical User Interface (GUI) 是现代计算机软件中常用的一种类型用户界面,它通过图形化的形式提供了直观、易用的操作方式。
Matlab作为一种功能强大的数值计算软件,也提供了丰富的GUI设计工具,使得用户可以通过简单的拖拽和设置,快速地创建出美观实用的用户界面。
本文将介绍在Matlab中使用GUI设计用户界面的基本原理和步骤,并结合实例演示具体操作。
一、Matlab中的GUI设计工具Matlab提供了几种常用的GUI设计工具,包括GUIDE(GUI Development Environment)和App Designer。
GUIDE是Matlab较早期的一个GUI设计工具,提供了可视化的编辑界面,方便用户进行界面布局和交互事件的设置。
而App Designer是Matlab较新推出的GUI设计工具,相比GUIDE具有更加丰富的功能和更好的可视化编辑体验。
在本文中,我们将以App Designer为例来介绍Matlab中的GUI设计过程。
二、创建GUI应用程序在Matlab的主界面中,点击"APPS"菜单,选择"App Designer"打开App Designer界面,然后点击"Create App"按钮创建一个新的GUI应用程序。
在弹出的对话框中输入应用程序的名称并设置保存位置,点击"Create"按钮即可创建一个空的GUI应用程序。
三、设计用户界面在App Designer中,可以通过拖拽和调整控件来设计用户界面。
常用的控件包括按钮、文本框、下拉菜单、滑块等,用户可以根据需求自由选择和排列这些控件。
同时,还可以设置控件的属性,如大小、颜色、字体等,以及添加交互事件,如按下按钮后执行的操作。
四、设置控件属性和交互事件在设计好用户界面后,需要为每个控件设置相应的属性和交互事件。
利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面
(1)利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面;(2) 实现在“符号计算”图形用户界面中的各项符号计算功能,如实现Matlab的求极限、求导、求不定积分与定积分、级数求和、方程组的符号求解、常微分方程的符号求解等符号计算;(3) 利用Matlab的二维、三维绘图功能,实现图形用户界面(GUI)中的部分符号计算的可视化,即给出符号计算实例的同时实现该实例的图形化描述。
如下图给出了一个简单的GUI界面,学生可以参考如下图设计出自己的GUI界面。
程序如下:hf=figure('Position',[200,200,700,500],...'Name','信计08(2)班阿卜杜热黑木20080803417', ...'NumberTitle','off','MenuBar','none');uicontrol(hf,'Style','Frame','Position',[0,0.15,0.45,1],...'Units','normalized','Back',[0,1,1]);COMM1=['n=str2num(get(he1,''String''));', ...%求导连接'b=sym(get(he7,''String''));',...'dec=diff(b,n);', ...'set(he8,''string'',char(dec));'];COMM2=['a=str2num(get(he2,''String''));', ...%求极限连接'f=sym(get(he7,''String''));',...'lim=limit(f,a);', ...'set(he8,''string'',char(lim));'];COMM3=['g=sym(get(he7,''String''));',... %不定积分连接'int_1=int(g);', ...'set(he8,''string'',char(int_1));'];COMM4=['a=str2num(get(he3,''String''));', ... %级数求和连接'b=str2num(get(he5,''String''));', ...'f=sym(get(he7,''String''));',...'sum_1=symsum(f,a,b);', ...'set(he8,''string'',char(sum_1));'];COMM5=['a=str2num(get(he4,''String''));', ... %定积分连接'b=str2num(get(he6,''String''));', ...'f=sym(get(he7,''String''));',...'int_2=int(f,a,b);', ...'set(he8,''string'',char(int_2));'];COMM6=['f=get(he7,''String'');',...'dsolve_1=dsolve(f,''x'');', ...'set(he8,''string'',char(dsolve_1));'];COMM7=['f=get(he7,''String'');',...'ezplot(f);'];COMM8=['g=get(he8,''String'');',...'ezplot(g);'];uicontrol(hf,'Style','Push','Position',[0.02,0.9,0.11,0.06],...'String','求导','Units','normalized','Call',COMM1); uicontrol(hf,'Style','Text','Position',[0.17,0.85,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','阶数','Back',[0,1,1]);he1=uicontrol(hf,'Style','Edit','Position',[0.25,0.9,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.72,0.13,0.06],...'String','求极限','Units','normalized','Call',COMM2);uicontrol(hf,'Style','Text','Position',[0.17,0.67,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','极限点','Back',[0,1,1]);he2=uicontrol(hf,'Style','Edit','Position',[0.25,0.72,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.58,0.13,0.06],...'String','不定积分','Units','normalized','Call',COMM3);uicontrol(hf,'Style','Push','Position',[0.02,0.45,0.13,0.06],...'String','级数求和','Units','normalized','Call',COMM4);uicontrol(hf,'Style','Text','Position',[0.31,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he5=uicontrol(hf,'Style','Edit','Position',[0.38,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he3=uicontrol(hf,'Style','Edit','Position',[0.24,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.32,0.13,0.06],...'String','求定积分','Units','normalized','Call',COMM5);uicontrol(hf,'Style','Text','Position',[0.31,0.31,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he6=uicontrol(hf,'Style','Edit','Position',[0.38,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.3,0.08,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he4=uicontrol(hf,'Style','Edit','Position',[0.24,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.2,0.16,0.06],...'String','解微分方程','Units','normalized','Call',COMM6);uicontrol(hf,'Style','text','Position',[0.48,0.9,0.13,0.06],...'String','原函数','Units','normalized');he7=uicontrol(hf,'Style','edit','Position',[0.65,0.9,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','text','Position',[0.48,0.77,0.13,0.06],...'String','结果函数','Units','normalized');he8=uicontrol(hf,'Style','text','Position',[0.65,0.77,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);h_axes=axes('position',[0.55,0.2,0.4,0.5]);uicontrol(hf,'Style','push','Position',[0.58,0.02,0.13,0.06],...'String','初始绘图','Units','normalized','call',COMM7);uicontrol(hf,'Style','push','Position',[0.80,0.02,0.13,0.06],...'String','结果绘图','Units','normalized','call',COMM8);uicontrol(hf,'Style','Push','Position',[0.02,0.02,0.08,0.06],...'String','退出','Units','normalized','Call', 'close');。
MATLAB-图形用户界面 GUI
第 8 章 图形用户界面GUI假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑图形用户界面(Graphical User Interfaces ,GUI )的制作。
但是如果读者想向别人提供某种新的设计分析工具,想体现某种新的设计分析理念,想进行某种技术、方法的演示,那么图形用户界面也许是最好的选择之一。
MATLAB 本身提供了很多的图形用户界面,如sisotool “单输入单输出控制系统设计工具”、fdatool “滤波器设计和分析工具”等。
这些工具的出现不仅提高了设计和分析效率,而且改变原先的设计模式,引出了新的设计思想,改变了和正在改变着人们的设计、分析理念。
正是出于这种观察,作者将图形用户界面内容列入本教程。
本章由四个精心设计的算例组成。
这四个算例,一方面尽可能多地向读者展现构成GUI 的各种控件或组件,另方面借助算例中回调函数的编写较快地将读者引向GUI 制作的纵深。
本书作者相信:读者只要耐心地按照示例进行操作,便能在愉快感受GUI 成功制作的同时,事半功倍地掌握GUI 的制作技巧。
8.1 图形用户界面入门示例【例8.1-1】为演示归一化二阶系统121)(2++=s s s G ζ中阻尼比ζ对单位阶跃响应的影响,需要制作如图8.1-1所示的用户界面图8.1-11)图8.1-2 进入GUIDE开发环境的默认引导对话窗图8.1-3 默认的空白用户界面开发环境GUIDE 2)●●点选“轴Axes”图标;●点选“静态文本框Static Text”图标●点选“可编辑文本框Edit Text ”图标图8.1-4 3)界面组件的参数设置●用户界面窗的参数设置⏹,再点击界面编辑器工具条上的图标,图8.1-5 ●●●●图8.1-6 4)●点击工具条上的图标,●●●图8.1-7图8.1-85)●,点击HOME工具带NAVIGATE导航区上的Go To转至图标●●get(hObject,'String'); %zeta=str2double(get(hObject,'String')); %handles.t=0:0.05:15; %handles.y=step(tf(1,[1,2*zeta,1]),handles.t); %cla %line(handles.t,handles.y) %●●,再点击界面编辑器(或M文件编辑器)上的图标,图8.1-9图8.1-106)〖说明〗8.2 控件创建及应用示例本小节仍以算例为依托,详细讲述用户界面的创建步骤和注意要点。
用MATLAB制作图形用户界面
用MATLAB制作图形用户界面MATLAB是一种流行的科学计算软件,它不仅在数值计算和数据分析领域有着广泛的应用,还提供了一种高效的界面设计工具,使得用户可以自定义和制作自己的图形用户界面(GUI)。
通过创建自定义的GUI,用户可以简化复杂操作,提高工作效率,下面就让我们来学习如何用MATLAB制作图形用户界面。
MATLAB的图形用户界面主要由以下几部分组成:窗口:窗口是GUI的基本元素,它提供了一个空间,用户可以在其中添加和组织各种控件(如按钮、文本框等)。
控件:控件是GUI中的基本元素,它们可以接收用户的输入,并在窗口中显示出来。
例如,按钮、文本框、滑动条等都是常见的控件。
菜单:菜单是GUI中的一种导航工具,它们可以链接到其他窗口或者函数,方便用户进行操作。
工具栏:工具栏是GUI中的一种快速执行工具,它们提供了一键执行常见操作的快捷方式。
下面就让我们通过一个简单的例子来学习如何用MATLAB制作一个简单的图形用户界面:打开MATLAB,在命令窗口输入“guide”,并按Enter键。
这将打开GUI设计工具。
在打开的GUI设计工具中,选择“Blank GUI”并点击“OK”,进入GUI编辑器。
在GUI编辑器中,你可以看到一个空白的窗口和一些控件。
你可以通过拖拽的方式将这些控件添加到窗口中。
选中你添加的控件,在右侧的“Properties”面板中,你可以修改控件的属性,如颜色、字体、大小等。
在设计完成后,点击“Save”按钮,保存你的GUI。
此时,MATLAB会生成一个.fig文件和一个.m文件。
其中.fig文件是GUI的图形文件,而.m文件包含了GUI的代码。
在生成的.m文件中,你可以编写控件的事件处理函数。
例如,当用户点击按钮时,应该执行什么样的操作。
在编写完事件处理函数后,你就可以运行你的GUI了。
在命令窗口输入“edit(gcf)”,然后按Enter键,就可以打开你的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函数来实现,然后在界面的回调函数中调用这些函数。
这为用户提供了更大的自由度和灵活性,以满足不同需求的应用场景。
第七讲MATLAB图形用户界面(GUI)设计
第七讲MATLAB图形⽤户界⾯(GUI)设计第7讲MATLAB图形⽤户界⾯(GUI)设计图形⽤户界⾯(GUI, Graphical User Interface)是由图形控件构建的⽤于⼈与计算机交互信息的界⾯。
在图形⽤户界⾯上,⽤户可以根据界⾯上的提⽰信息完成⾃⼰的⼯作,⽽不需要记忆⼤量繁琐的命令,只需通过⿏标、键盘等便捷的⽅式与计算机交互信息、选择想要运⾏的程序、控制程序的运⾏、实时显⽰图形信息。
MATLAB创建的图形⽤户界⾯对象有三类:⽤户界⾯控件,如按钮、列表框、编辑框等;下拉菜单,如菜单、⼦菜单;内容菜单,如弹出式菜单。
⼀、命令⾏建⽴⽤户界⾯的⽅法1、创建控件命令:uicontrol调⽤格式:1)uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件;2)h=uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件,并返回控件的句柄;3)uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在句柄FIG指定的图形⽤户界⾯上,创建控件;4)h=uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……) 功能:在句柄FIG指定的图形⽤户界⾯上,创建控件,并返回控件的句柄。
说明:函数中的PropertyName参数的参数值有:Push buttons(命令按钮)、sliders (滚动条控件)、Radio button(单选按钮)、Check box(复选框)、Edit text (可编程⽂本框)、Static text(静态⽂本框)、Pop_up menus(弹出式菜单)、listbox(列表框)、Toggle button(开关按钮)、Axes(坐标轴)、Panel(⾯板控件)、Button group(按钮组框)、ActiveX control(ActiveX 控件)。
MATLAB用户界面GUI设计
第七章MATLAB的图形用户界面(GUI)的设计1.用户界面控制对象(1)窗口、轴、按钮的建立例1(gui_1.m):clear;clf;Hf_fig=figure(1);%建立一个窗口set(Hf_fig,'position',[100,100,540,360],...'color',[0.8,0.8,0.8]);%窗口位置属性:左下角点,宽×高,颜色Ha_axes=axes('Parent',Hf_fig,...'position',[0.1,0.4,0.8,0.5]);%建立一个坐标轴,位置属性:在左下角点,宽×高t=0:pi/50:4*pi;y=sin(t);Hc_push1=uicontrol(Hf_fig,'style','push',...'position',[80,60,100,25],...'string','Sin',...'callback',['y=sin(t);','plot(t,y);']);%在Hf_fig窗口下建立一个控件,类型属性:按钮%位置属性:起点,宽×高%字符串属性:显示Sin%回调属性:回调时运行程序段:y=sin;%plot(t,y)(2)列表框的建立例2(gui_2.m):clear;clf;Hf_fig=figure(1);set(Hf_fig,'position',[100,100,540,360],...'color',[0.8,0.8,0.8]);Ha_axes=axes('Parent',Hf_fig,...'position',[0.1,0.4,0.8,0.5]);%listboxHc_listbox1=uicontrol(Hf_fig,'style','listbox',...'position',[360,30,80,60],...'string',{'Sin';'Cos';'Exp'},...'callback',['v1=get(gcbo,''value'');','ex_gui_8(v1);']);%在Hf_fig窗口下建立一个控件,类型属性:列表框%位置属性:起点,宽×高%字符串属性:显示Sin%Cos%Exp%回调属性:回调时运行程序段:v1=get(gcbo,'value);%取当前对象的value属性,放入变量v1中%ex_gui_8(v1)%调用自定义函数ex_gui_8,%传递参数v1子程序的调用(ex_gui_8)function y=ex_gui_8(v)t=0:pi/50:4*pi;switch vcase 1y=sin(t);case 2y=cos(t);case 3y=exp(t);endplot(t,y);(3)菜单的建立例3(gui_3.m):clear;clf;Hf_fig=figure(1);set(Hf_fig,'position',[100,100,540,360],...'color',[0.8,0.8,0.8]);Ha_axes=axes('Parent',Hf_fig,...'position',[0.1,0.4,0.8,0.5]);t=0:pi/50:4*pi;Hm_m1=uimenu(gcf,'Label','User');%建立顶菜单项UserHm_plot=uimenu(Hm_m1,'Label','Plot');%在顶菜单项User下建立分菜单项PlotHm_sin=uimenu(Hm_plot,'Label','Sin',...'callback',['y=sin(t);','plot(t,y);']);%在分菜单项Plot下建立子菜单项Sin%回调时运行程序y=sin(t),plot(t,y)Hm_cos=uimenu(Hm_plot,'Label','Cos',...'separator','on',...'callback',['y=cos(t);','plot(t,y);']);2.用GUI设计工具设计图形用户界面(GUI)设计(1)GUI设计工具的启动GUI设计工具用GUIDE命令启动,或点相应菜单项:File—New—Gui—Blank GUI(2)GUI编程举例:①建立一个按钮与坐标轴a)点菜单项:File—New—Gui—Blank GUIb)点按钮、坐标轴图标,拖到图中,调整大小c)光标移到按钮位置,点图标property Inspecto r,点属性string,写sin。
MATLAB教程 第十章 图形用户界面GUI制作
第十章 图形用户界面GUI 制作用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。
如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。
但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。
MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。
MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。
即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。
为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。
读者只要输入所提供的程序,就可引出相应的界面。
本章第2节叙述图形用户界面的设计原则和一般制作步骤。
第3、4节分别介绍用户菜单、用户控件的制作。
出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。
利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。
这前5节内容对读者理解交互图形界面的工作原理很有帮助。
本章第6节专述MATLAB6.5提供的界面设计工作台的使用。
值得指出:该设计工作台与MATLAB5.3版的设计工具有很大不同。
新的设计工作台显得更成熟、方便。
在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第9章关于图柄的内容。
10.1 入门【例10.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。
MATLAB-图形用户界面 GUI
第 8 章 图形用户界面GUI假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑图形用户界面(Graphical User Interfaces ,GUI )的制作。
但是如果读者想向别人提供某种新的设计分析工具,想体现某种新的设计分析理念,想进行某种技术、方法的演示,那么图形用户界面也许是最好的选择之一。
MATLAB 本身提供了很多的图形用户界面,如sisotool “单输入单输出控制系统设计工具”、fdatool “滤波器设计和分析工具”等。
这些工具的出现不仅提高了设计和分析效率,而且改变原先的设计模式,引出了新的设计思想,改变了和正在改变着人们的设计、分析理念。
正是出于这种观察,作者将图形用户界面内容列入本教程。
本章由四个精心设计的算例组成。
这四个算例,一方面尽可能多地向读者展现构成GUI 的各种控件或组件,另方面借助算例中回调函数的编写较快地将读者引向GUI 制作的纵深。
本书作者相信:读者只要耐心地按照示例进行操作,便能在愉快感受GUI 成功制作的同时,事半功倍地掌握GUI 的制作技巧。
8.1 图形用户界面入门示例【例8.1-1】为演示归一化二阶系统121)(2++=s s s G ζ中阻尼比ζ对单位阶跃响应的影响,需要制作如图8.1-1所示的用户界面图8.1-11)图8.1-2 进入GUIDE开发环境的默认引导对话窗图8.1-3 默认的空白用户界面开发环境GUIDE 2)●●点选“轴Axes”图标;●点选“静态文本框Static Text”图标●点选“可编辑文本框Edit Text ”图标图8.1-4 3)界面组件的参数设置●用户界面窗的参数设置⏹,再点击界面编辑器工具条上的图标,图8.1-5 ●●●●图8.1-6 4)●点击工具条上的图标,●●●图8.1-7图8.1-85)●,点击HOME工具带NAVIGATE导航区上的Go To转至图标●●get(hObject,'String'); %zeta=str2double(get(hObject,'String')); %handles.t=0:0.05:15; %handles.y=step(tf(1,[1,2*zeta,1]),handles.t); %cla %line(handles.t,handles.y) %●●,再点击界面编辑器(或M文件编辑器)上的图标,图8.1-9图8.1-106)〖说明〗8.2 控件创建及应用示例本小节仍以算例为依托,详细讲述用户界面的创建步骤和注意要点。
MATLAB_GUI图形用户界面设计
GUI图形用户界面
GUI设计工具的启动界面
预览窗口
最近打开的界面文件的列表 新建界面的选项
打开文件浏览器
是否在新建时保存文件
2012-6-8 6
GUI图形用户界面
GUI设计工作台
主要由4个功能区,六个实用工具组成
菜单条 工具条
对 齐 工 具
菜 单 编 辑
文 件 编 辑
对对 象象 属列 性表
2012-6-8
15
GUI图形用户界面
只用编0的程序来说明,其他从1到9都是一样的程序
function pushbutton0_Callback(hObject, eventdata, handles) % hObject handle to pushbutton0 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if(handles.start) %如果没有数字按入,一开始运算符号无法输入 content=''; set(handles.edit,'string',content); %把空的内容显示出来 handles.start=0; guidata(hObject, handles); %更新句柄结构 end content=get(handles.edit,'string'); %把前面输入的内容保存在content中 if(handles.term) %计算结束后,就为空,继续下一次输入 content=''; handles.term=0; guidata(hObject, handles); end if(handles.bracket) %sin,cos,log,log10输入后,不能在接数字,只能接运算符 号 guidata(hObject, handles); else out=[content,'0']; %把0与前面的内容相连起来 set(handles.edit,'string',out); %把新内容显示出来 handles.repeat=0; %数字输入完可以输入运算符号了 guidata(hObject, handles); end % --- Executes on button press in pushbutton1.
MATLAB教程 第十章 图形用户界面GUI制作
第十章 图形用户界面GUI 制作用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。
如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。
但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。
MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。
MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。
即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。
为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。
读者只要输入所提供的程序,就可引出相应的界面。
本章第2节叙述图形用户界面的设计原则和一般制作步骤。
第3、4节分别介绍用户菜单、用户控件的制作。
出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。
利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。
这前5节内容对读者理解交互图形界面的工作原理很有帮助。
本章第6节专述MATLAB6.5提供的界面设计工作台的使用。
值得指出:该设计工作台与MATLAB5.3版的设计工具有很大不同。
新的设计工作台显得更成熟、方便。
在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第9章关于图柄的内容。
10.1 入门【例10.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。
Matlab的图形用户界面GUI
图7-20 生成“hot”效果的图形界面
% 建立控制坐标轴的显示菜单【Axis】 h3=uimenu(h0,'label','Axis'); h31=uimenu(h3,'label','Axis on','callback','axis on'); h32=uimenu(h3,'label','Axis off','callback','axis off'); 该段代码运行后,生成如图7-21所示的界面图。
% 建立关闭图形用户界面按钮【close】 hbutton=uicontrol('position',[80 10 70 35],'fontsize',8, … 'fontweight','bold','string','close','callback','close');
(a)
(b)
图7-22 带有上下文菜单的图形界面
图7-17 M文件编辑器中的三个按钮的回调子函数
(a)
(b)
(c)
(d)
图7-18 运行结果
(a) 被激活后的界面; (b) sphere图; (c) peaks图; (d) membrane图
第三节 GUI程序设计
1. 用户界面菜单对象的建立 h=uimenu(’ PropertyName1’,value1, ’ propertyName2’,value2,…)
图723生成sinc图形的gui界面第八章图像视频和声音第八章图像视频和声音第一节图像第二节影片第三节图像和影片的相互转换第四节声音第一节图像三图像的读取和显示第六章图形处理功能第八章图像视频和声音第二章数组的运算基础一图像格式由该函数获取的信息依赖于文件类型的不同而不同filename文件名filemdedate文件最后一次修改的时间第六章图形处理功能第八章图像视频和声音第二章数组的运算基础第六章图形处理功能第八章图像视频和声音filesize文件的大小单位
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
整个GUI的实现过程可以分为以下几步: 使用界面设计编辑器进行GUI界面布局设计; 理解应用程序M文件中所使用的编程技术; 编写GUI组件行为响应控制(即回调函数)代码。 一、启动GUIDE
在Matlab中,GUIDE提供了多种设计模板以方便用户使 用GUI。这些模板均包含相关的回调函数,用户可以打开它 所对应的M文件,看到它们的工作方式,或修改相应的函数, 从而实现自己需要的功能。
第七章 Matlab的图形用户界面GUI
GUI设计工具简介 GUI向导设计 GUI程序设计
1
第一节 GUI设计工具简介
通常在开发一个应用程序时都会尽量做到界面友好、 直观。最常用的方法就是使用图形用户界面。在Matlab中, 图形用户界面是一个包含多种对象的图形窗口。用户必须 对功能对象进行界面布局和编程,从而使用户在激活GUI的 功能对象时能够执行相应的行为。
弹:出式菜单的“Style”属性的默认值是 “popupmenu”,在“string”属性中设置弹出式菜单的选 项字符串,在不同的选项之间用“|”分隔,类似于换行。
9
:图文框(Panel),图文框是填充的矩形区域。一般用来 把其它控件放入图文框中,组成一组。图文框本身没有回调程 序。注意只有用户界面控件可以在图文框中显示。由于图文框 是不透明的,因而定义图文框的顺序就很重要,必须先定义图 文框,然后定义放到图文框中的控件。因为先定义的对象先画, 后定义的对象后画,后画的对象覆盖到先画的对象上。
:编辑框(Edit Text),允许用户动态地编辑文本 字符串或数字,就象使用文本编辑器或文字处理器一样。 编辑框一般用于让用户输入或修改文本字符串和数字。 编辑框的“String”属性“的默认值是“Edit Text”。
7
:单选按钮(Radio Button),又称无线按 钮,它由一个标注字符串(在“String” 属性 中设置)和字符串左侧的一个小圆圈组成。当它 被选择时,圆圈被填充一个黑点,且属性“Value” 的值为“1”;若未被选择,圆圈为空,属性的 “Value”值为“0”。
Matlab为用户开发图形界面提供了一个方便、高效的 集成开发环境GUIDE(Graphic User Interface Development Environment)。GUIDE主要是一个界面设计 工具集,Matlab将所有GUI的控件都集成在这个环境中并提 供界面外观、属性和行为响应方式的设置方法。GUIDE将用 户设计好的GUI界面保存在一个FIG文件中,同时还自动生 成一个包含GUI初始化和组件界面布局控制代码的M文件。 这个M文件为实现回调函数(当用户激活GUI某一个组件时 执行的函数)提供了一个参考框架,这样既简化了GUI应用 程序的创建工作,用户又可以直接使用这个框架来编写自 己的函数代码。
:静态文本框(text),静态文本框用来显示文本字符串, 该字符:串内容由属性“string”确定。静态文本框之所以称 为“静态”,是因为文本不能被动态的修改,而只能通过改 变“String”属性来更改。静态文本框一般用于显示标记、 提示信息及当前值。静态文本框的“Style”属性的默认值是 “text”。
6
:开关按钮(Toggle Button) 和一般按钮形状相 同,区别在于它有两种状态,用鼠标单击按钮,它会从一 种状态变成另一种状态,并执行相应的回调程序(两种状 态各对应不同的回调程序)。 按钮“开”时,Value属性的值为在Max属性中指定的值; 按钮“关”时,Value属性的值为在Min属性中指定的值。 按钮的“Style”属性的默认值是“togglebutton”。
在Matlab 中,可以通过如下两种方法来访问模板: 直接输入“guide”命令,打开如图7-1所示的界面; 通过File菜单中的New选项也可以打开GUI模板界面。
3
图7-1 进入GUI的初始界面
4
在创建新的GUI时,Matlab 提供了空白模板、带有控制按钮 的模板、带有坐标轴和菜单的模板以及问答式对话框4种模板。其 中空白模板如图7-2所示:
图7-2 空白界面编辑器外观图
5
二、用户界面控件对象介绍
在空白模板中GUIDE提供了用户界面控件以及界面设计 工具集来实现用户界面的创建工作,用户界面控件分布在界 面编辑器的左侧,下面我们对各控件加以介绍。
:按钮(Push Button),是小的矩形面,在其上 面标有说明该按钮功能的文本。将鼠标指针移动至按钮,单 击鼠标,按钮被按下随即自动弹起,并执行回调程序。 按钮的“Style”属性的默认值是“pushbotton”。
10
:列表框(listbox),列表框列出一些选项的清单, 并允许用户选择其中的一个或多个选项,一个或多个的模 式由Min和Max属性控制。Value 属性的值为被选中选项的 序号,同时也指示了选中选项的个数。
当单击鼠标按钮选中该项后,Value属性的值被改变, 释放鼠标按钮的时候Matlab执行列表框的回调程序。 列表框的“Style”属性的默认值是“listbox”。
单选按钮一般用于在一组互斥的选项中选择 一项。为了确保互斥性,各单选按钮的回调程序 需要将其它各项的“Value”值设为“0”。
单选按钮 “style”的属性的默认值是“Radioenu),向用户提出互斥的一 系列选项清单,用户可以选择其中的某一项。弹出式菜单 下拉式菜单,它不受菜单条的限制,可以位于图形窗口内 的任何位置。
通常状态下,弹出式菜单以矩形的形式出现,矩形中 含有当前选择的选项,在选项右侧有一个向下的箭头来表 明该对象是一个弹出式菜单。当指针处在弹出式菜单的箭 头之上并按下鼠标时,出现所有选项。移动指针到不同的 选项,单击鼠标左键就选中了该选项,同时关闭弹出式菜 单,显示新的选项。
选择一个选项后,弹出式菜单的“Value”属性值为该 选项的序号。