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控件对象;