MATLAB程序设计与应用-第五章

  • 格式:pdf
  • 大小:766.72 KB
  • 文档页数:16

1MATLAB程序设计与应用

环测学院赵银娣

2011~2012学年第2学期第5章图形用户界面设计

󰂄MATLAB作为功能强大的软件开发工具,提供了丰富的图形用户界

面设计功能。

󰂄MATLAB 6.5所提供的控件种类更丰富,开发工具更完善,使用更

加方便,使MATLAB已经具备了大型软件开发工具的所有功能和特

征,用户利用MATLAB提供的图形用户界面设计工具,可以设计各

种要求的图形用户界面,并在其基础上完成功能强大的应用程序开

发。

󰂄在MATLAB中,每个图形对象都有唯一一个句柄(Handle)和一组

定义图形对象外观的属性(Properties)。

󰂄用户可以使用这些句柄图形对象属性来控制图形的行为和外观。图

形对象包括uimenu、uncontrol对象,且包括图形、坐标轴等。

第5章图形用户界面设计

󰂄5.1 图形用户界面开发环境

󰂄一、打开图形用户界面开发环境

󰂄二、创建控件对象

󰂄三、开发工具窗口

󰂄5.2 控件对象及属性

󰂄5.3 对话框设计

󰂄5.4 图形用户界面程序设计

󰂄5.5 菜单设计5.1 图形用户界面开发环境

󰂄一、打开图形用户界面开发环境

󰂄启动图形用户界面开发环境的方法有两种

󰂄一种是在命令窗口输入命令guide,

󰂄另一种方法是直接从用启动平台上启动:在操作桌面上展开启动平台

窗口中树状列表的MATLAB,选择其中的GUIDE选项即可启动布局编

辑器。

󰂄这两种方法启动的图形用户界面开发环境中的编辑器窗口都是空的。

󰂄MATLAB 6.5推出的图形用户界面开发环境(GUI Development

Environment,简称GUIDE)

在命令窗口输入命guide在操作桌面上展开启动平台窗口中

树状列表的MATLAB,

选择其中的GUIDE选项

25.1 图形用户界面开发环境

点击OK按钮,打开布局编辑器

布局编辑器窗口改变大小控

择工具栏

5.1 图形用户界面开发环境

󰂄一、打开图形用户界面开发环境

󰂄二、创建控件对象

󰂄使用图形用户界面开发环境创建控件对象的一般步骤如下:

󰂄(1)鼠标点击希望创建的控件对象(以下简称控件),鼠标指针箭头变为十

字形状,移动鼠标指针到布局区希望创建控件的位置(该位置为控件图

形左上角的位置),点击鼠标,即完成了控件的创建。

󰂄(2)移动控件的位置。将鼠标指针指向要移动的控件,当闹标指针由箭

头坚为十字箭头时,按住鼠标左键并拖动该拉件至合适的位置,然后

放开鼠标左键。5.1 图形用户界面开发环境

󰂄二、创建控件对象

󰂄(3)改变控件的大小。用鼠标点击希望移动的控件,控件的四个角上各

出现一个小黑点,移动鼠标指针至任意一个小黑点处,当鼠标指针变

为45°方向的双箭头线时,按住鼠标左键并拖动既标,所出现的灰色

方框随鼠标的移动而改变大小,直至满意时松开鼠标键。

󰂄(4)选中多个对象。在布局区内空白处按住鼠标左键并拖动鼠标(不要点

击控件),会随鼠标的移动拖出一个灰色的框,直至该框覆盖了所有要

选中的控件时松开鼠标。所有被选中的控件的四个角都有选中标志(小

黑点)。如果希望有选择地选中控件,可以按住Ctrl键并依次点击希望选

中的控件,直至满意即可松开Ctrl键,所有被选中的控件可以向时移动

而不改变相互间的相对位置。

用鼠标在界面上添加

一个可编辑文本框,两个静态文本框,两个按钮。5.1 图形用户界面开发环境

点击保存后,生成两个文件:

exam5_1.flg 仅用于保存图形界面。

exam5_1.m 用于执行相关功能代码。

同时默认打开exam5_1.m文件。

3删除一些注释后,exam5_1的代码如图,该页为程序初始化代码

此为控件初始化代码此为控件功能代码

5.1 图形用户界面开发环境

󰂄三、开发工具窗口

󰂄图形用户界面开发环境提供了一组用于图形用户界面开发的工

具,这些工具包括:

󰂄几何排列工具(Alignment Tool) 调整备对象之间的相互几何

关系和位置

󰂄属性编辑器(Property Inspector) 查询并设置对象的属性值。

󰂄对象浏览器(Object Browser) 获得当前MATLAB窗口中图形

对象句柄的分级排列。

󰂄菜单编辑器(Menu Editor) 建立和编辑主菜单和图形对象的鼠

标右控菜单。5.1 图形用户界面开发环境

󰂄三、开发工具窗口

󰂄1、几何位置排列工具(简称为排列工具)

用于调节各控件对象之间的相对位置。

󰂄选择工具栏中的排列工具图标即可打开排列工

具窗口。

󰂄工具栏->Tools->Align Objects…

󰂄排列工具分为对控件对象垂直和水平两个方向

几何位置的排列。每个方向又分为位置调整和

分布调整。

45.1 图形用户界面开发环境

󰂄三、开发工具窗口

󰂄2、属性编辑器

󰂄用于设置控件属性,在属性编辑器中提供了所有可设置属性的列

表并显示出当前的属性值,通过修改属性值完成对各种属性修改

󰂄工具栏->View->Property Inspector…5.1 图形用户界面开发环境

󰂄三、开发工具窗口

󰂄3、菜单编辑器

󰂄工具栏->Tools->Menu Editor…

5.1 图形用户界面开发环境

󰂄三、开发工具窗口

󰂄4、对象浏览器

󰂄工具栏->View->Object Brower…5.1 图形用户界面开发环境

󰂄三、开发工具窗口

󰂄5、Tab顺序编辑器(Tab Order Editor)

󰂄工具栏-> Tools-> Tab Order Editor...

󰂄Tab顺序编辑器,当需要修改用户按下“Tab”键来改变焦点

的顺序时使用该编辑器。

M-file editor

M-file 编辑器

Tab order editor

Tab顺序编辑器

在MATLAB最近的几个版本中,布局编辑器提供了M-file编辑器的连接。第5章图形用户界面设计

󰂄5.1 图形用户界面开发环境

󰂄5.2 控件对象及属性

󰂄一、控件介绍

󰂄二、控件属性

󰂄5.3 对话框设计

󰂄5.4 图形用户界面程序设计

󰂄5.5 菜单设计

55.2 控件对象及属性

󰂄Matlab中的控件大致可分为两种:

󰂄一种为动作控件,鼠标点击这些控件时会产生相应的响应

󰂄一种为静态控件,是一种不产生响应的控件,如文本框等

󰂄每种控件都有一些可以设置的参数,用于表现控件的外形、功

能及效果,既属性。

󰂄属性由两部分组成:属性名和属性值,它们必须是成对出

现的。5.2 控件对象及属性

󰂄一、控件介绍

󰂄按钮(PushButtons):执行某种预定的功能或操作

󰂄开关按钮(Toggle Button):产生一个动作并指示一个二进制

状态(开或关),当鼠点击它时按钮将下陷,并执行

callback(回调函数)中指定的内容,再次点击,按钮复原

,并再次执行callback 中的内容;

󰂄单选框(Radio Button):单个的单选框用来在两种状态之间

切换,多个单选框组成一个单选框组时,用户只能在一组

状态中选择单一的状态,或称为单选项;

5.2 控件对象及属性

󰂄一、控件介绍

󰂄复选框(Check Boxes):单个的复选框用来在两种状态之间

切换,多个复选框组成一个复选框组时,可使用户在一组

状态中作组合式的选择,或称为多选项;

󰂄文本编辑器(Editable Texts):用来使用键盘输入字符串的值

,可以对编辑框中的内容进行编辑、删除和替换等操作;

静态文本框(Static Texts):仅用于显示单行的说明文字;

󰂄静态文本框(Static Texts):仅用于显示单行的说明文字;5.2 控件对象及属性

󰂄一、控件介绍

󰂄滚动条(Slider):可输入指定范围的数量值;

󰂄边框(Frames):在图形窗口圈出一块区域;

󰂄列表框(List Boxes):在其中定义一系列可供选择的字符串

󰂄弹出式菜单(Popup Menus):让用户从一列菜单项中选择一

项作为参数输入;

󰂄坐标轴(Axes):用于显示图形和图象。

5.2 控件对象及属性

󰂄二、控件属性

󰂄用户可以在创建控件对象时,设定其属性值,未指定时将

使用系统缺省值。

󰂄两大类控件对象属性:第一类是所有控件对象都具有的公

共属性,第二类是控件对象作为图形对象所具有的属性。5.2 控件对象及属性

󰂄二、控件属性

1、控件对象的公共属性

󰂄Children 取值为空矩阵,因为控件对象没有自己的子对象;

󰂄Parent取值为某个图形窗口对象的句柄,该句柄表明了控件

对象所在的图形窗口;

󰂄Tag取值为字符串,定义了控件的标识值,在任何程序中都

可以通过这个标识值控制该控件对象;

65.2 控件对象及属性

󰂄二、控件属性

1、控件对象的公共属性

󰂄Type取值为uicontrol,表明图形对象的类型;

󰂄UserDate取值为空矩阵,用于保存与该控件对象相关的重

要数据和信息;

󰂄Visible控件是否可见属性。取值为on可见,off不可见。5.2 控件对象及属性

󰂄二、控件属性

2、控件对象的基本控制属性

󰂄BackgroundColor取值为颜色的预定义字符或RGB数值;缺省值为浅灰

色;

󰂄Callback取值为字符串,可以是某个M文件名或一小段Matlab语句,当用户激活

某个控件对象时,应用程序就运行该属性定义的子程序;

󰂄Enable取值为on(缺省值),inactive和off;

󰂄Extend取值为四元素矢量[0, 0, width, height],记录控件对象标题字符的位置和

尺寸;

󰂄ForegroundColor取值为颜色的预定义字符或RGB数值,该属性定义控件对象标

题字符的颜色;缺省值为黑色;

5.2 控件对象及属性

󰂄二、控件属性

2、控件对象的基本控制属性

󰂄Max,Min取值都为数值,缺省值分别为1和0;

󰂄String取值为字符串矩阵或块数组,定义控件对象标题或选项内容;

󰂄Style取值可以是pushbutton(缺省值), radiobutton, checkbox, edit, text,

slider, frame, popupmenu或listbox;

󰂄Units取值可以是pixels (缺省值), normalized(相对单位), inches,

centimeters(厘米)或points(磅);

󰂄Value取值可以是矢量,也可以是数值,其含义及解释依赖于控件对象

的类型。5.2 控件对象及属性

󰂄二、控件属性

3、控件对象的修饰控制属性

󰂄FontAngle取值为normal(正体,缺省值), italic(斜体), oblique(方

头)

󰂄FontName取值为控件标题等字体的字库名;

󰂄FontSize取值为数值;

󰂄FontUnits取值为points(缺省值), normalized, inches, centimeters或

pixels;

󰂄FontWeight取值为normal(缺省值), light,demi和bold,定义字符粗细

󰂄HorizontalAligment取值为left,center (缺省值)或right,定义控件对

象标题等的对齐方式。

5.2 控件对象及属性

󰂄二、控件属性

4、控件对象的辅助属性

󰂄ListboxTop取值为数量值,用于listbox控件对象;

󰂄SliderStep取值为两元素矢量[minstep,maxstep],用于slider控件对象;