MATLAB编程与工程应用-第10章MATLAB图形用户界面设计.ppt
-
资源ID:80476601
资源大小:550.50KB
全文页数:26页
- 资源格式: PPT
下载积分:11.9金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
MATLAB编程与工程应用-第10章MATLAB图形用户界面设计.ppt
第10章 MATLAB图形用户界面设计第10章 MATLAB图形用户界面设计10.1 MATLAB10.1 MATLAB图形句柄图形句柄10.2 10.2 菜单设计菜单设计10.3 10.3 对话框设计对话框设计10.4 10.4 图形用户界面设计工具图形用户界面设计工具第10章 MATLAB图形用户界面设计10.1 MATLAB10.1 MATLAB图形句柄图形句柄一、图形对象及其句柄一、图形对象及其句柄1 1图形对象图形对象MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。每一个对象按树型结构组织。2 2图形对象句柄图形对象句柄MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄图形对象句柄(Handle)(Handle)。句柄是图形对象的唯一标识符。计算机屏幕作为根对象由系统自动建立,其句柄值为0图形窗口对象的句柄值为一正整数,并显示在该窗口的标题栏,其他图形对象的句柄为浮点数。例例10-1 10-1 绘制曲线并查看有关对象的句柄。绘制曲线并查看有关对象的句柄。exp10_1.mexp10_1.m第10章 MATLAB图形用户界面设计10.1 MATLAB10.1 MATLAB图形句柄图形句柄二、图形对象属性二、图形对象属性1 1图形对象的公共属性图形对象的公共属性Children属性(对象的子对象)Parent属性(对象的父对象)Tag属性、Type属性UserData属性(用户自定义数据)Visible属性(设置显示与否)ButtonDownFcn属性(按钮按下时响应的函数)CreateFcn属性(创建对象时响应的函数)DeleteFcn属性(对象关闭时响应的函数)第10章 MATLAB图形用户界面设计10.1 MATLAB10.1 MATLAB图形句柄图形句柄2 2属性的操作属性的操作(1)set(1)set函数:设置属性函数:设置属性set(Hset(H,PName1PName1,value1value1,PName2PName2,value2value2,)H:用于指明要操作的图形对象。Pname:属性名Value:要设置的属性值(2)get(2)get函数:读取属性函数:读取属性V=get(HV=get(H,PName)PName)其中V是返回的属性值。如果省略属性名,则将返回句柄所有的属性值。例例10.2 10.2 在同一坐标下绘制红、绿两根不同曲线,希望获在同一坐标下绘制红、绿两根不同曲线,希望获得绿色曲线的句柄,并对其进行设置得绿色曲线的句柄,并对其进行设置 exp10_2.mexp10_2.m第10章 MATLAB图形用户界面设计10.1 MATLAB10.1 MATLAB图形句柄图形句柄三、图形对象的创建三、图形对象的创建1.1.图形窗口对象图形窗口对象建立图形窗口对象使用figure函数,其调用格式为:H=figure(PName1H=figure(PName1,value1value1,PName2PName2,value2value2,)MATLAB通过对属性的操作来改变图形窗口的形式。figure figure 或或 H=figureH=figure按MATLAB缺省的属性值建立图形窗口close(H)close(H)关闭图形窗口第10章 MATLAB图形用户界面设计三、图形对象的创建三、图形对象的创建图形窗口常用属性MenuBar、Name、NumberTitle、Resize、PositionUnits、Color、PointerKeyPressFcn(键盘键按下响应)WindowButtonDownFcn(鼠标键按下响应)WindowButtonMotionFcn(鼠标移动响应)WindowButtonUpFcn(鼠标键释放响应)例例10-3 10-3 建立一个图形窗口。该图形窗口没有菜单条,标题建立一个图形窗口。该图形窗口没有菜单条,标题名称为名称为“我的图形窗口我的图形窗口”,起始于屏幕左下角、宽度和,起始于屏幕左下角、宽度和高度分别为高度分别为450450像素点和像素点和250250像素点,背景颜色为绿色,像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将在该图形窗口绘且当用户从键盘按下任意一个键时,将在该图形窗口绘制出正弦曲线。制出正弦曲线。exp10_3.mexp10_3.m第10章 MATLAB图形用户界面设计三、图形对象的创建三、图形对象的创建2.2.坐标轴对象坐标轴对象建立坐标轴对象使用axes函数,其调用格式为:H=axes(PName1H=axes(PName1,value1value1,PName2PName2,value2value2,)调用axes函数用指定的属性在当前图形窗口创建坐标轴,并将其句柄赋给左边的句柄变量H。使用axes 函数按MATLAB缺省的属性值在当前图形窗口创建坐标轴:axes axes 或或 H=axesH=axes用axes 函数建立坐标轴之后,还可以调用axes 函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口:axes(H)axes(H)第10章 MATLAB图形用户界面设计三、图形对象的创建三、图形对象的创建常见坐标轴对象属性。Box属性GridLineStyle属性Position属性Units属性Title属性例例10-4 10-4 利用坐标轴对象实现图形窗口的任意分割。利用坐标轴对象实现图形窗口的任意分割。exp10_4.mexp10_4.m利用axes可以在不影响图形窗口上其他坐标轴的前提下建立一个新的坐标轴,从而实现图形窗口的任意分割。第10章 MATLAB图形用户界面设计三、图形对象的创建三、图形对象的创建3.曲线对象建立曲线对象使用line函数,其调用格式为:H=line(x,y,z,PName1H=line(x,y,z,PName1,value1value1,PName2PName2,value2value2,)其中对x,y,z的解释与高层曲线函数plot和plot3等一样,其余的解释与前面介绍过的figure和axes函数类似。每个曲线对象也具有很多属性。除公共属性外,其他常用属性如下:Color属性、LineStyle属性、LineWidth属性、Marker属性、MarkerSize属性等。例例10-5 10-5 利用曲线对象绘制曲线利用曲线对象绘制曲线 exp10_5.mexp10_5.m第10章 MATLAB图形用户界面设计10.2 10.2 菜单设计菜单设计一、建立用户菜单要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。H=uimenu(mHH=uimenu(mH,PName1,value1,PName2,value2,.)PName1,value1,PName2,value2,.)mH:上级句柄,如果mH为窗口句柄,则H为一级菜单,如果mH为一级菜单,则H为二级菜单,Pname:属性名Value:属性值H:生成的菜单对象句柄第10章 MATLAB图形用户界面设计10.2 10.2 菜单设计菜单设计二、二、菜单对象常用属性菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性,除公共属性外,还有一些常用的特殊属性。例例10.6 10.6 建立如下图所示的菜单。建立如下图所示的菜单。exp10_6.mexp10_6.m第10章 MATLAB图形用户界面设计10.2 10.2 菜单设计菜单设计三、右键菜单三、右键菜单右键菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。在MATLAB中,可以使用uicontextmenu函数和图形对象的UIContextMenu属性来建立右键菜单,具体步骤为:(1)利用uicontextmenu函数建立右键菜单。(2)利用uimenu函数为右键菜单建立菜单项。(3)利用set函数将该右键菜单和某图形对象联系起来。例例10.7 10.7 绘制曲线绘制曲线y=2sin(5x)siny=2sin(5x)sinx x,并建立一个右键菜单,并建立一个右键菜单,用以控制曲线的线型和曲线宽度。用以控制曲线的线型和曲线宽度。exp10_7.mexp10_7.m第10章 MATLAB图形用户界面设计10.3 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图形用户界面设计10.3 10.3 对话框设计对话框设计二、对话框的设计1 1建立控件对象建立控件对象MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:H=uicontrol(mHH=uicontrol(mH,PName1PName1,Value1Value1,PName2PName2,Value2Value2)H:生成的对话框控件句柄mH:为图形窗口句柄Pname:属性名Value:属性值其中各个属性名及可取的值和前面介绍的uimenu函数相似第10章 MATLAB图形用户界面设计二、对话框的设计2 2控件对象的属性控件对象的属性MATLAB的10种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。除Children、Parent、Tag、Type、UserData、Visible等公共属性外,还有一些常用的特殊属性。例例10.8 10.8 建立如下图所示的图形演示对话框。在编辑框输入建立如下图所示的图形演示对话框。在编辑框输入绘图命令,当单击绘图命令,当单击“绘图绘图”按钮时,能在左边坐标轴绘按钮时,能在左边坐标轴绘制所对应的图形,弹出框提供色图控制,列表框提供坐制所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。标网格线和坐标边框控制。exp10_8.mexp10_8.m第10章 MATLAB图形用户界面设计10.4 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.4 10.4 图形用户界面设计工具图形用户界面设计工具一、图形用户界面设计窗口一、图形用户界面设计窗口1 1GUIDEGUIDE设计模板设计模板菜单菜单File-New-GUI或命令guide:打开图形用户界面的设计模板。(1)Blank GUI(默认)、(2)GUI with Uicontrols(带控件对象的GUI模板)、(3)GUI with Axes and Menu(带坐标轴与菜单的GUI模板)(4)Modal Question Dialog(带模式问话对话框的GUI模板)。用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。第10章 MATLAB图形用户界面设计一、图形用户界面设计窗口一、图形用户界面设计窗口2 2GUIGUI设计窗口设计窗口在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help 6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。第10章 MATLAB图形用户界面设计一、图形用户界面设计窗口一、图形用户界面设计窗口3 3GUIGUI设计窗口的基本操作设计窗口的基本操作在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。例如,创建一个Push Button对象,并设计该对象的属性值。第10章 MATLAB图形用户界面设计10.4 10.4 图形用户界面设计工具图形用户界面设计工具二、对象属性查看器二、对象属性查看器利用对象属性查看器,可以查看每个对象的属性值,也可以修改、设置对象的属性值,从GUI设计窗口工具栏上选择Property Inspector命令按钮,或者选择View菜单下的Property Inspector子菜单,就可以打开对象属性查看器。另外,在MATLAB命令窗口的命令行上输入inspect,也可以看到对象属性查看器。在选中某个对象后,可以通过对象属性查看器,查看该对象的属性值,也可以方便地修改对象属性的属性值。第10章 MATLAB图形用户界面设计10.4 10.4 图形用户界面设计工具图形用户界面设计工具三、菜单编辑器三、菜单编辑器利用菜单编辑器,可以创建、设置、修改下拉式菜单和快捷菜单。从GUI设计窗口的工具栏上选择Menu Editor命令按钮,或者选择Tools菜单下的Menu Editor子菜单,就可以打开菜单编辑器。菜单编辑器左上角的第一个按钮用于创建一级菜单项。第二个按钮用于创建一级菜单的子菜单。菜单编辑器的左下角有两个按钮,选择第一个按钮,可以创建下拉式菜单。第10章 MATLAB图形用户界面设计三、菜单编辑器三、菜单编辑器选择第二个按钮,可以创建右键菜单。选择它后,菜单编辑器左上角的第三个按钮就会变成可用,单击它就可以创建右键主菜单。在选中已经创建的右键主菜单后,可以单击第二个按钮创建选中的右键主菜单的子菜单。与下拉式菜单一样,选中创建的某个右键菜单,菜单编辑器的右边就会显示该菜单的有关属性,可以在这里设置、修改菜单的属性。菜单编辑器左上角的第四个与第五个按钮用于对选中的菜单进行左移与右移,第六与第七个按钮用于对选中的菜单进行上移与下移,最右边的按钮用于删除选中的菜单。第10章 MATLAB图形用户界面设计10.4 10.4 图形用户界面设计工具图形用户界面设计工具四、位置调整工具四、位置调整工具用位置调整工具,可以对GUI对象设计区内的多个对象的位置进行调整。从GUI设计窗口的工具栏上选择Align Objects命令按钮,或者选择Tools菜单下的Align Objects菜单项,就可以打开对象位置调整器。对象位置调整器中的第一栏是垂直方向的位置调整。对象位置调整器中的第二栏是水平方向的位置调整。在选中多个对象后,可以方便的通过对象位置调整器调整对象间的对齐方式和距离。第10章 MATLAB图形用户界面设计10.4 10.4 图形用户界面设计工具图形用户界面设计工具五、对象浏览器五、对象浏览器利用对象浏览器,可以查看当前设计阶段的各个句柄图形对象。从GUI设计窗口的工具栏上选择Object Browser命令按钮,或者选择View菜单下的Object Browser子菜单,就可以打开对象浏览器。例如,在对象设计区内创建了3个对象,它们分别是Edit Text、Push Button、ListBox对象,此时单击Object Browser按钮,可以看到对象浏览器。在对象浏览器中,可以看到已经创建的3个对象以及图形窗口对象figure。用鼠标双击图中的任何一个对象,可以进入对象的属性查看器界面。第10章 MATLAB图形用户界面设计10.4 10.4 图形用户界面设计工具图形用户界面设计工具六、六、TabTab顺序编辑器顺序编辑器利用Tab顺序编辑器(Tab Order Editor),可以设置用户按键盘上的Tab键时,对象被选中的先后顺序。选择Tools菜单下的Tab Order Editor菜单项,就可以打开Tab顺序编辑器。例如,若在GUI设计窗口中创建了3个对象,与它们相对应的Tab顺序编辑器。第10章 MATLAB图形用户界面设计10.4 10.4 图形用户界面设计工具图形用户界面设计工具例例10.9 10.9 利用利用GUIGUI设计工具设计如下图所示的用户界面。设计工具设计如下图所示的用户界面。该界面包括一个用于显示图形的轴对象,显示的图形包括表面图、网格图或等高线图。绘制图形的功能通过3个命令按钮来实现,用户通过单击相应的按钮,即可绘制相应图形。绘制图形所需要的数据通过一个弹出框来选取。在弹出框中包括3个选项,分别对应MATLAB的数据函数peaks、membrane和用户自定义的绘图数据sinc,用户可以通过选择相应的选项来载入相应的绘图数据。在图形窗口缺省的菜单条上添加一个菜单项Select,Select下又有两个子菜单项Yellow和Red,选中Yellow项时,图形窗口将变成黄色,选中Red项时,图形窗口将变成红色。