MATLAB编程与工程应用—— 第10章 MATLAB图形用户界面设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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图形用户界面设计
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.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.1 10.2 10.3 10.4 MATLAB图形句柄 MATLAB图形句柄 菜单设计 对话框设计 图形用户界面设计工具
源自文库
第10章 MATLAB图形用户界面设计
MATLAB图形句柄 10.1 MATLAB图形句柄
一、图形对象及其句柄
1.图形对象 MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、 用户菜单、用户控件、曲线、曲面、文字、图像、光源、 区域块和方框等。每一个对象按树型结构组织。 2.图形对象句柄 MATLAB在创建每一个图形对象时,都为该对象分配唯一 的一个值,称其为图形对象句柄(Handle) 图形对象句柄(Handle) 图形对象句柄(Handle)。句柄是图形 对象的唯一标识符。 计算机屏幕作为根对象由系统自动建立,其句柄值为0 图形窗口对象的句柄值为一正整数,并显示在该窗口的 标题栏,其他图形对象的句柄为浮点数。
绘制曲线并查看有关对象的句柄。 例10-1 绘制曲线并查看有关对象的句柄。 exp10_1.m 10第10章 MATLAB图形用户界面设计
MATLAB图形句柄 10.1 MATLAB图形句柄
二、图形对象属性
1.图形对象的公共属性 Children属性(对象的子对象) Parent属性(对象的父对象) Tag属性、Type属性 UserData属性(用户自定义数据) Visible属性(设置显示与否) ButtonDownFcn属性(按钮按下时响应的函数) CreateFcn属性(创建对象时响应的函数) DeleteFcn属性(对象关闭时响应的函数)
第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图形用户界面设计
10.3 对话框设计
二、对话框的设计
1.建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其调 用格式为: H=uicontrol(mH,PName1,Value1,PName2,Value2…) H=uicontrol(mH,PName1,Value1,PName2,Value2 ) H :生成的对话框控件句柄 mH:为图形窗口句柄
第10章 MATLAB图形用户界面设计
三、图形对象的创建
2. 坐标轴对象 建立坐标轴对象使用axes函数,其调用格式为: H=axes(PName1,value1,PName2,value2, ) H=axes(PName1,value1,PName2,value2,…) 调用axes函数用指定的属性在当前图形窗口创建坐标轴, 并将其句柄赋给左边的句柄变量H。 使用axes 函数按MATLAB缺省的属性值在当前图形窗口创 建坐标轴: axes 或 H = axes 用axes 函数建立坐标轴之后,还可以调用axes 函数将 之设定为当前坐标轴,且坐标轴所在的图形窗口自动成 为当前图形窗口: axes(H)
第10章 MATLAB图形用户界面设计
10.2 菜单设计
一、建立用户菜单
要建立用户菜单可用uimenu函数,因其调用方法不同, 该函数可以用于建立一级菜单项和子菜单项。 H=uimenu(mH, H=uimenu(mH,'PName1', value1,'PName2',value2,...) mH:上级句柄,
第10章 MATLAB图形用户界面设计
三、图形对象的创建
常见坐标轴对象属性。 Box属性 GridLineStyle属性 Position属性 Units属性 Title属性 10利用坐标轴对象实现图形窗口的任意分割。 例10-4 利用坐标轴对象实现图形窗口的任意分割。 exp10_4.m 利用axes可以在不影响图形窗口上其他坐标轴的前提下 建立一个新的坐标轴,从而实现图形窗口的任意分割。
Pname:属性名 Value:属性值
其中各个属性名及可取的值和前面介绍的uimenu函数相似
第10章 MATLAB图形用户界面设计
二、对话框的设计
2.控件对象的属性 MATLAB的10种控件对象使用相同的属性类型,但是这些 属性对于不同类型的控件对象,其含义不尽相同。除 Children、Parent、Tag、Type、UserData、Visible等 公共属性外,还有一些常用的特殊属性。 建立如下图所示的图形演示对话框。 例10.8 建立如下图所示的图形演示对话框。在编辑框输 入绘图命令,当单击“绘图”按钮时, 入绘图命令,当单击“绘图”按钮时,能在左边坐标轴 绘制所对应的图形,弹出框提供色图控制, 绘制所对应的图形,弹出框提供色图控制,列表框提供 坐标网格线和坐标边框控制。 坐标网格线和坐标边框控制。 exp10_8.m
第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图形用户界面设计
如果mH为窗口句柄,则H为一级菜单, 如果mH为一级菜单,则H为二级菜单,……
Pname:属性名 Value:属性值 H:生成的菜单对象句柄
第10章 MATLAB图形用户界面设计
10.2 菜单设计
二、菜单对象常用属性
菜单对象具有Children、Parent、Tag、Type、UserData、 Visible等公共属性,除公共属性外,还有一些常用的特 殊属性。 建立如下图所示的菜单。 例10.6 建立如下图所示的菜单。exp10_6.m
第10章 MATLAB图形用户界面设计
10.4 图形用户界面设计工具
一、图形用户界面设计窗口
1.GUIDE设计模板 GUIDE设计模板 菜单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图形用户界面设计
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图形用户界面设计
一、图形用户界面设计窗口
2.GUI设计窗口 GUI设计窗口 在GUI设计模板中选中一个模板,然后单击OK按钮,就会 显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设 计窗口中显示的结果是不一样的。 GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对 象设计区等部分组成。GUI设计窗口的菜单栏有File、 Edit、View、Layout、Tools和Help 6个菜单项,使用其 中的命令可以完成图形用户界面的设计操作。
第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