MATLAB编程与工程应用—— 第10章 MATLAB图形用户界面设计

合集下载

利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面

利用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制作图形用户界面

用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图形用户界面设计与开发教程

MATLAB图形用户界面设计与开发教程

MATLAB图形用户界面设计与开发教程绪论:MATLAB是一种用于数学计算和科学数据可视化的强大软件工具。

它被广泛应用于工程、科学和数学领域。

而图形用户界面(Graphical User Interface, GUI)则是一种以图形形式呈现的软件界面,使用户能够通过可视化的方式与程序进行交互。

本教程将深入浅出地介绍MATLAB图形用户界面的设计与开发。

一、GUI的基本概念与原理在开始GUI设计之前,我们需要了解一些基本的概念与原理。

MATLAB提供了一套强大的GUI设计工具集,其中最常用的是GUIDE(GUI Development Environment)。

GUIDE允许用户使用可视化的方式来构建GUI界面,包括按钮、文本框、菜单等各种控件。

二、GUI设计的基本步骤1. 创建GUI界面:在MATLAB命令窗口中输入“guide”命令即可打开GUIDE 界面。

然后选择“Blank GUI”模板,点击“OK”按钮即可创建一个空白的GUI窗口。

2. 添加控件:在GUI界面上右键点击,选择“Insert”菜单来添加各种控件,比如按钮、文本框、列表框等。

选择控件后,通过拖拽的方式将其放置在GUI界面上。

3. 设计控件属性:通过在“Property Inspector”面板中修改控件的属性来定制化界面的外观和行为。

比如修改按钮的文本、设置文本框的宽度等。

4. 编写回调函数:在MATLAB命令窗口中输入“guide”命令即可打开GUIDE 界面。

然后选择“Blank GUI”模板,点击“OK”按钮即可创建一个空白的GUI窗口。

5. 保存并运行GUI:点击GUIDE界面上的“Save”按钮,保存GUI界面的m文件。

然后在MATLAB命令窗口中输入“run xxx.m”来运行GUI。

三、GUI界面的布局和设计原则好的GUI界面应当具备良好的布局和设计,以提高用户的使用体验。

以下是一些常用的布局和设计原则:1. 界面简洁明了:避免过多的控件和信息,让用户能够快速找到所需功能。

MATLAB学习笔记(十一)——MATLAB图形用户界面设计

MATLAB学习笔记(十一)——MATLAB图形用户界面设计

MATLAB学习笔记(⼗⼀)——MATLAB图形⽤户界⾯设计(⼀)菜单设计⼀、建⽴⽤户菜单1、概况:⽤户菜单⼀般含有⼀级菜单和⼆级菜单,乃⾄多级菜单。

每⼀级菜单⼜包含多个菜单项。

建⽴菜单可以使⽤uimenu函数。

2、uimenu函数调⽤:%建⽴⼀级菜单的函数调⽤:⼀级菜单句柄=uimenu(图形窗⼝句柄,属性名1,属性值1,属性名2,属性值2,……);%建⽴⼀级菜单需给出图形窗⼝的句柄值。

%如果省略句柄值,MATLAB就在当前图形窗⼝中建⽴这个菜单项。

%如果当前没有图形窗⼝,则⾃动打开⼀个图形窗⼝。

%建⽴⼦菜单项的函数调⽤:⼦菜单项句柄=uimenu(⼀级菜单项句柄,属性名1,属性值1,属性名2,属性值2,……);⼆、菜单对象的常⽤属性:1、Label属性:取值是字符串,⽤于定义菜单项的名字。

可以在字符串中加⼊&字符,这时在菜单项名字上,跟随&字符有⼀条下划线,&字符本⾝不出现在菜单项中。

对于这种有带下划线的菜单,可以⽤Alt键加该字符键来激活相应的菜单项。

2、Accelerator属性:取值是任何字母,⽤于定义菜单项的快捷键。

3、Callback属性:可以是某个M⽂件名或者⼀组MATLAB命令。

即该命令被选中后,MATLAB会⾃动调⽤此回调函数进⾏相应。

4、Checked属性:取值是on或者off(缺省值),该属性为菜单项定义⼀个指⽰标记,可以⽤这个特性指明菜单项是否被选中。

5、Enable属性:取值是on(缺省值)或者off,这个属性控制菜单项的可选择性。

如果是off,则此时菜单项不可⽤,呈现灰⾊。

6、Position属性:取值是数值,定义⼀级菜单项在菜单条上的相对位置或者紫菜单项⼦菜单组内的相对位置。

7、Separator属性:取值是on或者off(缺省值)。

如果该属性为on,则在该菜单项上⽅添加⼀条分隔线,可以⽤来分隔同⼀菜单内的不同的功能。

⼀个demo:screen=get(0,'ScreenSize');W=screen(3);H=screen(4);figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.5*W,0.3*H],'Name','图形演⽰系统','NumberTitle','off','MenuBar','none');%定义plot菜单项hplot=uimenu(gcf,'Label','&Plot');uimenu(hplot,'Label','Sine Wave','Callback',['t=-pi:pi/20:pi;','plot(t,sin(t));','set(hgon,''Enable'',''on'');','set(hgoff,''Enable'',''on'');','set(hbon,''Enable'',''on'');','set(hboff,''Enab;e'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Callback',['t=-pi:pi/20:pi;','plot(t,cos(t));','set(hgon,''Enable'',''on'');','set(hgoff,''Enable'',''on'');','set(hbon,''Enable'',''on'');','set(hboff,''Enab;e'',''on'');']); %定义Option菜单项hoption=uimenu(gcf,'Label','&Option');hgon=uimenu(hoption,'Label','&Grid on','Callback','grid on','Enable','off');hgoff=uimenu(hoption,'Label','&Grid off','Callback','grid off','Enable','off');hbon=uimenu(hoption,'Label','&Box on','separator','on','Callback','box on','Enable','off');hboff=uimenu(hoption,'Label','&Box off','separator','off','Callback','box off','Enable','off');hwincor=uimenu(hoption,'Label','&Window Color','Separator','on');%定义window coloruimenu(hwincor,'Label','&Red','Accelerator','r','Callback','set(gcf,''Color'',''r'');');uimenu(hwincor,'Label','&Blue','Accelerator','b','Callback','set(gcf,''Color'',''b'');');uimenu(hwincor,'Label','&Yellow','Accelerator','y','Callback','set(gcf,''Color'',''y'');');uimenu(hwincor,'Label','&White','Accelerator','w','Callback','set(gcf,''Color'',''w'');');%定义Quit菜单项uimenu(gcf,'Label','&Quit','Callback','close(gcf)');三、快捷菜单1、概念快捷菜单是⽤⿏标右键单击某对象时在屏幕弹出的菜单。

MATLAB用户界面设计说明

MATLAB用户界面设计说明

滚动条’slider’ 图示某个范围。
按钮’pushbutton’ 其上的字符说明其作用。
切换按钮’toggle button’ 两状态按钮,单击改变其状态。
收音机按钮’radiobutton’ 一组选项,其中只能有一个被选中。
复选框’check button’ 一组选项,可以选择多项。
例:
h=warndlg({'error:','code1111.'},'Warning')
h=errordlg({'error:','code 1111.'},'Error')
5. 帮助信息对话框 与警告、错误信息对话框基本一致,仅仅是图标 的不同。
例:
h=helpdlg({'帮助信息:','帮助信息对话框和警告 错误对话框基本一致,只是图标不同!'},'帮助')
2.控件的常用属性
Units与 position属性 意义同上,这里的位置是相对该窗口的左下角;
String属性 标注在控件上,用来说明或提示;
Callback属性 实现该控件的实质性功能;
Enable属性 该控件的使能状态‘on’或‘off’ tag 属性
同上
例1:
h_main=figure(‘name’,‘a demo of gui design’,‘menubar’,‘none’,… 'numbertitle','off','position',[100 100 300 100]);
6.通用信息框 msgbox(‘显示信息’,’标题’,’图标’) 图标包括:Error、Help、Warn以及 Custom,如果缺省则为None。

《MATLAB程序设计教程(第二版)》第10章 MATLAB图形用户界面设计

《MATLAB程序设计教程(第二版)》第10章  MATLAB图形用户界面设计

10.3.3 对话框设计示例
例10-3 建立如图10-11所示的数制转换对话框。在左边输入 一个十进制整数和2~16之间的数,单击“转换”按钮能 在右边得到十进制数所对应的2~16进制字符串,单击 “退出”按钮退出对话框。 例10-4 建立如图10-12所示的图形演示对话框。在编辑框输 入绘图命令,当单击“绘图”按钮时,能在左边坐标轴绘 制所对应的图形,弹出框提供色图控制,列表框提供坐标 网格线和坐标边框控制。
5. Tab顺序编辑器 利用Tab顺序编辑器(Tab Order Editor),可以设置用户按键 盘上的Tab键时,对象被选中的先后顺序。选择Tools菜单 下的Tab Order Editor菜单项,就可以打开Tab顺序编辑器。
10.4.3 图形用户界面开发环境应用示例
例10-5 利用GUI设计工具设计图10-24所示的用户界面。
对象浏览器(Object Browser):可观察当前设计阶段的各个 句柄图形对象。 Tab顺序编辑器(Tab Order Editor):通过该工具,设置当用 户按下键盘上的Tab键时,对象被选中的先后顺序。


10.3.1 图形用户界面设计窗口 1.GUI设计模板 在MATLAB主窗口中,选择File菜单中的New菜单 项,再选择其中的GUI命令,就会显示图形用户界 面的设计模板。 MATLAB为GUI设计一共准备了4种模板,分别是 Blank GUI(默认) 、GUI with Uicontrols(带控件对象 的GUI模板) 、GUI with Axes and Menu(带坐标轴 与菜单的GUI模板)与Modal Question Dialog(带模式 问话对话框的GUI模板)。
10.2 菜单设计 10.2.1 建立用户菜单 要建立用户菜单可用uimenu函数,因其调用方法不 同,该函数可以用于建立一级菜单项和子菜单项。 建立一级菜单项的函数调用格式为:

第10章 MATLAB图形用户界面设计PPT课件

第10章  MATLAB图形用户界面设计PPT课件
Error in ==> guidetemplate at 88 copy, targetfigfile, 'writable');
Error in ==> guide at 61 = guidetemplate;
可作如下操作:选择我的电脑,系统属性,高 级,环境变量,其中的系统变量的PATH路径中添 加C:\windows\system32;这个路径就可以了。
06.12.2020
3
06.12.2020
4
06.12.2020
5
06.12.2020
6
06.12.2020
7
06.12.2020
8
控件名 按钮 切换按钮 单选按钮 复选框 列表框
弹出框
文本框 静态文本 边框 滑动条 坐标轴
Property name Push button Toggle Button Radio Button Check Box List Box
Popup Menu
Edit Text Static Text Frame Slider axes
功能 用于相应鼠标单击,按钮说明其作用 单击时会凹凸切换 一组按钮只有一个可以被选中 可多个同时被选中 显示下拉文字列表,用户可从中选一或 多项 相当于文本框和列表框的组合,用户可 从下拉列表中选择 输入和编辑文字、数据 显示文字信息,不接受输入 将控件放在其中,装饰界面 用户移动滚动条改变数据 用于绘制图像
第10章 MATLAB图形用户界面设计
10.1 可视化界面环境 10.2 菜单设计 10.3 界面设计实例
06.12.2020
1
06.12.2020
2
如果在新建GUI时出现如下错误:

MATLAB的图形用户界面设计

MATLAB的图形用户界面设计
(3) UserData属性
UserData属性的取值是一个矩阵,缺省值为空矩阵,用户可以在 这个属性中保存与该菜单对象相关的重要数据或信息,借此可以达 到传递数据或信息的目的。可以用set和get函数访问该属性。
二、菜单设计
【例2】 建立一个菜单系统。
菜单条中含有File和Help两个菜单项。如果选择File中的New 选项,则将显示New Item字样,如果选择File中的Open选项, 则将显示出Open Item字样。File中的Save菜单项初始时处于禁 选状态,在选择Help选项之后将此菜单项恢复成可选状态,如 果选择File中的Save选项,则将出现一个新的菜单(三级菜单), 其中共有两个子菜单项Text file和Graphics file,如果选择第1项, 则将变量k1和k2分别赋为0和1,然后调用file01.m文件来进行 相应的处理(该文件需要另行编写),如果选择第2项,则将变 量k1和k2分别赋为1和0,然后调用file10.m文件来进行相应的 处理(该文件也需要另行编写)。如果选择File中的Save As选项, 则将显示Save As Item字样。如果选择File中的Exit选项,则将 关闭当前窗口。如果选择Help中About …选项,则将显示Help Item字样,并将Save•菜单设置成可选状态。
第八讲 MATLAB图形用 户界面设计
所谓图形用户界面是指由窗口、菜单、对 话框等各种图形对象组成的用户界面。在 这种用户界面下,用户的操作是通过“选 择”各种图形对象来实现的。
一、图形窗口的控制
一、图形窗口的控制
1.建立图形窗口 要建立一个图形窗口,有两种方法:
(1)菜单操作:在MATLAB命令窗口选择File菜单中 的New命令,再选取Figure子菜单,这样将建立一个标准 的MATLAB图形窗口;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 MATLAB图形用户界面设计
MATLAB图形句柄 10.1 MATLAB图形句柄
2.属性的操作 set函数 函数: (1) set函数:设置属性 set(H,PName1,value1,PName2,value2, ) set(H,PName1,value1,PName2,value2,…) H:用于指明要操作的图形对象。 Pname:属性名 Value:要设置的属性值 get函数 函数: (2) get函数:读取属性 V=get(H, V=get(H,PName) 其中V是返回的属性值。 如果省略属性名,则将返回句柄所有的属性值。 在同一坐标下绘制红、绿两根不同曲线, 例10.2 在同一坐标下绘制红、绿两根不同曲线,希望获 得绿色曲线的句柄, 得绿色曲线的句柄,并对其进行设置 exp10_2.m
第10章 MATLAB图形用户界面设计
10.3 对话框设计
二、对话框的设计
1.建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其调 用格式为: H=uicontrol(mH,PName1,Value1,PName2,Value2…) H=uicontrol(mH,PName1,Value1,PName2,Value2 ) H :生成的对话框控件句柄 mH:为图形窗口句柄
第10章 MATLAB图形用户界面设计
三、图形对象的创建
3. 曲线对象 建立曲线对象使用line函数,其调用格式为: H=line(x,y,z,PName1,value1,PName2,value2, ) H=line(x,y,z,PName1,value1,PName2,value2,…) 其中对x,y,z的解释与高层曲线函数plot和plot3等一样, 其余的解释与前面介绍过的figure和axes函数类似。 每个曲线对象也具有很多属性。除公共属性外,其他常 用属性如下:Color属性、LineStyle属性、LineWidth属 性、Marker属性、MarkerSize属性等。 10例10-5 利用曲线对象绘制曲线 exp10_5.m
Pname:属性名 Value:属性值
其中各个属性名及可取的值和前面介绍的uimenu函数相似
第10章 MATLAB图形用户界面设计
二、对话框的设计
2.控件对象的属性 MATLAB的10种控件对象使用相同的属性类型,但是这些 属性对于不同类型的控件对象,其含义不尽相同。除 Children、Parent、Tag、Type、UserData、Visible等 公共属性外,还有一些常用的特殊属性。 建立如下图所示的图形演示对话框。 例10.8 建立如下图所示的图形演示对话框。在编辑框输 入绘图命令,当单击“绘图”按钮时, 入绘图命令,当单击“绘图”按钮时,能在左边坐标轴 绘制所对应的图形,弹出框提供色图控制, 绘制所对应的图形,弹出框提供色图控制,列表框提供 坐标网格线和坐标边框控制。 坐标网格线和坐标边框控制。 exp10_8.m
第10章 MATLAB图形用户界面设计
10.4 图形用户界面设计工具
MATLAB的用户界面设计工具共有6个,它们是: (1) 图形用户界面设计窗口(guide):创建、安排各种图形对象。 (2) 菜单编辑器(Menu Editor):创建、设计、修改下拉式菜单 和右键菜单。 (3) 对象属性查看器(Property Inspector):查看/修改各对象 属性 (4) 位置调整工具(Alignment Tool):调整对象的位置。 (5) 对象浏览器(Object Browser):可观察当前设计阶段的各个 句柄图形对象。 (6) Tab顺序编辑器(Tab Order Editor):通过该工具,设置当 用户按下键盘上的Tab键时,对象被选中的先后顺序。
第10章 MATLAB图形用户界面设计
10.2 菜单设计
一、建立用户菜单
要建立用户菜单可用uimenu函数,因其调用方法不同, 该函数可以用于建立一级菜单项和子菜单项。 H=uimenu(mH, H=uimenu(mH,'PName1', value1,'PName2',value2,...) mH:上级句柄,
第10章 MATLAB图形用户界面设计
10.3 对话框设计
一、对话框的控件
在对话框上有各种各样的控件,利用这些控件可以实现 有关控制。 (1) 按钮(Push Button);(2) 双位按钮(Toggle Button); (3) 复选框(Check Box);(4) 单选按钮(Radio Button); (5) 列表框(List Box); (6) 弹出框(Popup Menu); (7) 编辑框(Edit Box); (8) 滑动条(Slider); (9) 静态文本(Static Text); (10) 边框(Frame)。
第10章 MATLAB图形用户界面设计
一、图形用户界面计窗口
2.GUI设计窗口 GUI设计窗口 在GUI设计模板中选中一个模板,然后单击OK按钮,就会 显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设 计窗口中显示的结果是不一样的。 GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对 象设计区等部分组成。GUI设计窗口的菜单栏有File、 Edit、View、Layout、Tools和Help 6个菜单项,使用其 中的命令可以完成图形用户界面的设计操作。
第10章 MATLAB图形用户界面设计
MATLAB图形句柄 10.1 MATLAB图形句柄
三、图形对象的创建
1. 图形窗口对象 建立图形窗口对象使用figure函数,其调用格式为: H=figure(PName1,value1,PName2,value2, ) H=figure(PName1,value1,PName2,value2,…) MATLAB通过对属性的操作来改变图形窗口的形式。 figure 或 H=figure 按MATLAB缺省的属性值建立图形窗口 close(H) 关闭图形窗口
第10章 MATLAB图形用户界面设计
10.2 菜单设计
三、右键菜单 右键菜单是用鼠标右键单击某对象时在屏幕上弹出的菜 单。这种菜单出现的位置是不固定的,而且总是和某个 图形对象相联系。在MATLAB中,可以使用uicontextmenu 函数和图形对象的UIContextMenu属性来建立右键菜单, 具体步骤为: (1) 利用uicontextmenu函数建立右键菜单。 (2) 利用uimenu函数为右键菜单建立菜单项。 (3) 利用set函数将该右键菜单和某图形对象联系起来。 绘制曲线y=2sin(5x)sin 并建立一个右键菜单, 例10.7 绘制曲线y=2sin(5x)sinx,并建立一个右键菜单, 用以控制曲线的线型和曲线宽度。 用以控制曲线的线型和曲线宽度。exp10_7.m
第10章 MATLAB图形用户界面设计
第10章 MATLAB图形用户界面设计
10.1 10.2 10.3 10.4 MATLAB图形句柄 MATLAB图形句柄 菜单设计 对话框设计 图形用户界面设计工具
第10章 MATLAB图形用户界面设计
MATLAB图形句柄 10.1 MATLAB图形句柄
一、图形对象及其句柄
1.图形对象 MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、 用户菜单、用户控件、曲线、曲面、文字、图像、光源、 区域块和方框等。每一个对象按树型结构组织。 2.图形对象句柄 MATLAB在创建每一个图形对象时,都为该对象分配唯一 的一个值,称其为图形对象句柄(Handle) 图形对象句柄(Handle) 图形对象句柄(Handle)。句柄是图形 对象的唯一标识符。 计算机屏幕作为根对象由系统自动建立,其句柄值为0 图形窗口对象的句柄值为一正整数,并显示在该窗口的 标题栏,其他图形对象的句柄为浮点数。
如果mH为窗口句柄,则H为一级菜单, 如果mH为一级菜单,则H为二级菜单,……
Pname:属性名 Value:属性值 H:生成的菜单对象句柄
第10章 MATLAB图形用户界面设计
10.2 菜单设计
二、菜单对象常用属性
菜单对象具有Children、Parent、Tag、Type、UserData、 Visible等公共属性,除公共属性外,还有一些常用的特 殊属性。 建立如下图所示的菜单。 例10.6 建立如下图所示的菜单。exp10_6.m
第10章 MATLAB图形用户界面设计
三、图形对象的创建
图形窗口常用属性 MenuBar、Name、NumberTitle、Resize、Position Units、Color、Pointer KeyPressFcn(键盘键按下响应) WindowButtonDownFcn(鼠标键按下响应) WindowButtonMotionFcn(鼠标移动响应) WindowButtonUpFcn(鼠标键释放响应) 10建立一个图形窗口。该图形窗口没有菜单条, 例10-3 建立一个图形窗口。该图形窗口没有菜单条,标 题名称为“我的图形窗口” 起始于屏幕左下角、 题名称为“我的图形窗口”,起始于屏幕左下角、宽度 和高度分别为450像素点和250像素点,背景颜色为绿色, 450像素点和250像素点 和高度分别为450像素点和250像素点,背景颜色为绿色, 且当用户从键盘按下任意一个键时, 且当用户从键盘按下任意一个键时,将在该图形窗口绘 制出正弦曲线。 制出正弦曲线。 exp10_3.m
第10章 MATLAB图形用户界面设计
三、图形对象的创建
常见坐标轴对象属性。 Box属性 GridLineStyle属性 Position属性 Units属性 Title属性 10利用坐标轴对象实现图形窗口的任意分割。 例10-4 利用坐标轴对象实现图形窗口的任意分割。 exp10_4.m 利用axes可以在不影响图形窗口上其他坐标轴的前提下 建立一个新的坐标轴,从而实现图形窗口的任意分割。
第10章 MATLAB图形用户界面设计
相关文档
最新文档