Mat lab入门教程 第八章 GUI 程序设计
GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。
基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。 一. 控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object)
控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback).
控件对象及其功能: (表7—1)
2. 控件对象的描述(Description of controller object)
Mat lab中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。
每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。
(1) 按钮(Push Buttons):执行某种预定的功能或操作;
(2) 开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容;
(3) 单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项;
(4) 复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项;
(5) 文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作;
(6) 静态文本框(Static Texts):仅仅用于显示单行的说明文字; (7) 滚动条(Slider): 可输入指定范围的数量值; (8) 边框(Frames):在图形窗口圈出一块区域;
word文档 可自由复制编辑
(9) 列表框(List Boxes):在其中定义一系列可供选择的字符串;
(10)弹出式菜单(Po pup Menus): 让用户从一列菜单项中选择一项作为参数输入; (11)坐标轴(Axes): 用于显示图形和图象 3. 控件对象的属性(Attributes of controller object)
用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。 两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。
A, 控件对象的公共属性
Children 取值为空矩阵,因为控件对象没有自己的子对象
Parent取值为某个图形窗口对象的句柄,该句柄表明了控件对象所在的图形窗口 Tag取值为字符串,定义了控件的标识值,在任何程序中都可以通过这个标识值控制该控件对象
Type 取值为control,表明图形对象的类型
Serrate取值为空矩阵,用于保存与该控件对象相关的重要数据和信息 Visible取值为no 或off, B,控件对象的基本控制属性
Background取值为颜色的预定义字符或BURG数值
Callback取值为字符串,可以是某个M文件名或一小段Mat lab语句,当用户激活某个控件对象时,应用程序就运行该属性定义的子程序。
Enable取值为on(缺省值),inactive和off
Extend取值为四元素矢量[0 ,0 width, height],记录控件对象标题字符的位置和尺寸 Foreground Color取值为颜色的预定义字符或BURG数值 Max,Min取值都为数值
String取值为字符串矩阵或数组,定义控件对象标题或选项内容
word文档 可自由复制编辑
Style取值可以是button's, radiation, check box, edit, text, slider, frame, menopause 或list box
Units取值可以是pixels, normalized, inches, centimeters或points
Value取值可以是矢量,也可以是数值,其含义及解释依赖于控件对象的类型 C,控件对象的修饰控制属性
Entangle取值为normal, italic, oblique, Font Name取值为控件标题等字体的字库名 Fantasize取值为数值,
Font Weight取值为points, normalized, inches, centimeters或pixels Sentimentalization取值为left,right,定义对齐方式 D, 控件对象的辅助属性 Populist取值为数量值
Slider取值为两元素矢量[instep,max step],用于slider控件 Selected取值为on 或off Collectivization取值为on 或off E, Callback管理属性
Busy Action取值为cancel或queue
Countdown取值为字符串,一般为某个M文件名或一小段Mat lab程序 Creature 取值为字符串,一般为某个M文件名或一小段Mat lab程序 Deletion取值为字符串,一般为某个M文件名或一小段Mat lab程序 Divisibility取值为on, callback或off Corruptible取值为on 或off
word文档 可自由复制编辑
二.GUI开发环境(GUI Development Environment, GUIDE)
Mat lab提供了一套可视化的创建图形窗口的工具,使用用户界面开发环境可方便的创建GUI应用程序, 它可以根据用户设计的GUI布局,自动生成M文件的框架,用户使用这一框架编制自己的应用程序。
Mat lab提供了一套可视化的创建图形用户接口(GUI)的工具,包括:
*布局编辑器(Layout Ed tor)-------在图形窗口中加入及安排对象。布局编辑器是可以启动用户界面的控制面板,上述工具都必须从布局编辑器中访问,用guide命令可以启动,或在启动平台窗口中选择GUIDE来启动布局编辑器。
*几何排列工具(Alignment Tool)-----调整各对象相互之间的几何关系和位置 *属性编辑器(Property Inspector)-----查询并设置属性值
*对象浏览器Object Browser)-----用于获得当前Mat lab图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。
*菜单编辑器(Menu Editor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单 在Mat lab中, GUI的设计是以 M文件的编程形式实现的,GUI的布局代码存储在M文件和MAT文件中,而在MAZATLAN中有了很大的改变,MAZATLAN将GUI的布局代码存储在 FIG文件中,同时还产生一个M文件用于存储调用函数,在M文件中不再包含GUI的布局代码,在开发应用程序时代码量大大减少。
1. 布局编辑器(Layout editor):用于从控件选择板上选择控件对象并放置到布局区去,布局区被激活后就成为图形窗口。 在命令窗口输入GUIDE命令或点击工具栏中的guide图标都可以打开空白的布局编辑器,在命令窗口输入GUIDE enameler 可打开一个已存在的名为enameler图形用户界面。
(1)将控件对象放置到布局区
a. 用鼠标选择并放置控件到布局区内; b. 移动控件到适当的位置; c. 改变控件的大小; d. 选中多个对象的方法; (2) 激活图形窗口
word文档 可自由复制编辑
选Tools菜单中的Activate Figure项或点击工具条上的Putrefactive按钮, 在激活图形窗口的同时将存储M 文件和FIG文件,如所建立的布局还没有进行存储,用户界面开发环境将打开一个Save As对话框,按输入的文件的名字,存储一对同名的M文件和带有.fig扩展名的FIG文件。
(3) 运行GUI程序
在命令窗口直接键入文件名或用open fig, open或load命令运行GUI程序。 (4) 布局编辑器参数设置
选File菜单下的Preferences菜单项打开参数设置窗口,点击树状目录中的GUIDE,既可以设置布局编辑器的参数。
(5) 布局编辑器的弹出菜单
在任一控件上按下鼠标右键,会弹出一个菜单,通过该菜单可以完成布局编辑器的大部分操作。
2. 几何位置排列工具(Alignment tool) 用于调节各控件对象之间的相对位置。
3. 用属性编辑器设置控件属性(Set attributes of controller with Property Inspector)
在属性编辑器中提供了所有可设置的属性列表并显示出当前的属性。
(1)属性编辑器(Opening Property Inspector):三种方法:1. 用工具栏上的图标打开;2. 从View菜单中选择Property Inspector菜单项;3. 在按鼠标右键弹出的Property Inspector菜单中选择菜单项。
(1) 使用属性编辑器(Using Property Inspector) a. 布置控件 b. 定义文本框的属性 c. 定义坐标系 d. 定义按钮属性 e. 定义复选框
4. 菜单编辑器(Menu Editor): 包括菜单的设计和编辑,菜单编辑器有八个快捷键,可以利用它们任意添加或删除菜单,可以设置菜单项的属性,包括名称(Label)、标识
word文档 可自由复制编辑
相关推荐: