MATLAB图形用户界面设计

2018-12-19 22:35

MATLAB图形用户界面设计

学院:理学院 专业班级:信息与计算科学1班 姓名:刘俊楠 学号:20114182

中文摘要:图形用户界面是人与计算机交互操作的重要方式,既形象生动,

又使用户的操作更加方便灵活。所谓图形用户界面是指由窗口、菜单、对话框等各种图形对象组成的用户界面。MATLAB作为功能强大的科学计算软件,同样也提供了图形用户界面设计的功能。利用MATLAB的图形用户界面对象可以设计出界面友好、操作方便的图形用户界面。

关键字:MATLAB语言、图形用户界面、GUI

English abstract:Graphical user interface is an important way people interact

with the computer operation, vivid, and the user's operation more convenient and flexible. The graphical user interface (GUI) is to point to by Windows, menus, dialog boxes and other graphic objects of the user interface. As a powerful scientific computing software MATLAB, also provides a graphical user interface design features. Using MATLAB graphical user interface object can design a friendly interface, convenient operation, the graphical user interface.

Key words: language, MATLAB graphical user interface, GUI

一、图形用户界面简介

用户界面是指实现人与机器或程序之间交互作用的工具和方法。如键盘、鼠标等都可成为与计算机交换信息的接口。

图形用户界面GUI全称Graphical User Interfaces 则是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面用户图形界面GUI是程序的图形化界面。

GUI可以使用户定制用与MATLAB的交互方式。把图形界面加到MATLAB 的函数和M文件中。GUI可以在MATLAB中生成非常有效的工具和应用程序或是建立演示工作的交互式界面。

创建MATLAB 用户图形界面必须有三个基本元素: 1. 组件在matlab GUI 中的每一个项目如按钮、标签、编辑框等都是一个图形化组件。组件又可分为三类:图形化控件(按钮,编辑框,列表,滚动条等)、静态元素(窗口和文本字符串)、菜单和坐标系。图形化控件和静态元素由函数uicontrol创建菜单由函数uimenu和uicontextmenu示图形化数据由函数axes创建。

2. 图象窗口(Figure)GUI的每一个组件都必须安排在图象窗口中可以用函figure来创建空图象窗口空图象窗口经常用于放置各种类型的组件。

3. 回应当用户用鼠标单击或用键盘键入一些信息那么程序就要有相应的执行动作。鼠标单击或键入信息是一个事件如果matlab程序运行相应的函数那么matlab函数肯定会有所反应。例如如果用户单击一按钮这个事件必然引起相应的matlab语句执行。这些相应的语句被称为回应在执行GUI的单个图形组件时必须有一个回应。 二、常用图像操作

imread( ) imwrite( ) imshow( ),image( ) Imcomplement( ) imcrop( ) imresize( ) imrotate( ) imfeature imfinfo imhist immovie impixel figure: medfilt2

montage nlfilter pixval truesize zoom isbw isgray isrgb功能:判读是否为RGB真彩图像 三、图像类型转换函数

dither() 通过颜色抖动,把真彩图像转换成索引图像或灰度图象转 换成二值图像

gray2ind() 将灰度图像或二值图像转换成索引图像

grayslice() 通过设定的阈值将灰度图象转换成索引图像 im2bw() 通过设定亮度阈值将灰度、真彩、索引图象转换成二值图像 ind2gray() 将索引图象转换成灰度图像

ind2rgb() 将索引图象转换成真彩色图像

mat2gray() 将一个数据矩阵转换成一幅灰度图像 rgb2gray() 将真彩转换成灰度图像 rgb2ind() 将真彩转换成索引图像 四、GUI的创建

打开MATLAB,点击File,然后New,再点击GUI,弹出的对话框选择Create New GUI,即可创建一个用户界面图形。 菜单:在每一个窗口系统中使用菜单让用户选择命令和选项。通常在显示屏或窗口的顶部有一菜单条。移动鼠标指针到菜单标志上按下鼠标按键,顶层菜单就被选中,以列菜单项就从菜单标志拉下来。这种款式菜单就叫下拉式菜单。一个菜单项还可以有自己的菜单项列表作为子菜单。子菜单项在子菜单的右边显示层次的数目受到窗口系统及 有用资源的限制。

建立菜单和子菜单:我们采用函数uimenu建立菜单项

Hm_1=uimenu(hx_parent,’propertyName’,propertyValue…),其中Hm_1是由uimenu生成的菜单项的句柄。通过设定uimenu的属性值就可以定义 菜单特性。Uimenu对象中最重要的属性是‘lable’和‘callback’。‘lable’属性值 是菜单条和下拉菜单项上的文本字符串以确认菜单项。‘callback’属性值是MATLAB字符串。

控制框:系统窗口设置控制框,让用户进行某种操作或设置选项或属性。控制框是图形对像,如图标、文本框和滚动条。它和菜单一起使用以建立用户图形界面称之为窗口系统和计算机窗口管理器。 MATLAB控制框又称uicontrol,它是图形对象,可以放置在MATLAB的图形窗中的任何位置并用鼠标激活MATLAB的uicontrol包括按钮、滑标、文本框及弹出式菜单。 Uicontrol是由函数uicontrol生成的,常用句法:

Hc_1=uicontrol(Hf_fig,’PropertyName’,PropertyVaule…)通过设定不同的属性值定义uicontrol的属性。

建立不同的控制框:matlab共有八种不同的类型的或样式的控制框他们均由uicontrol建立属性‘style’决定了所建立的控制框的类型。‘callback’属

性值是当控制框激活时传给eval在命令窗口空间执行的matlab的字符串。 下面介绍八种uicontrol[9]: 按键钮:又称命令按钮或按钮是小的长方形屏幕对象常常在对象本身标有文本。将鼠标指针移动至对象来选择按键钮uicontrol单击鼠标按钮执行由回调字符串所定义的动作。按键钮的‘style’属性值是‘pushbutton’.按键钮是典型的用于执行一个动作而不是改变状态或设定属性。 无线按钮:又称选择按钮或切换按钮,他由一个标志和标志文本的左端一个小圆圈或小菱形形成。当选择时圆圈被填充,且‘value’属性值为1若未被选择时‘value’的属性值为0。无线按钮的‘style’属性值为‘radiobutton’。无线按钮典型的用在一组互斥的选项中选择一项。

检查框:又称切换按钮,它由具有标志并在标志的左边的一个小方框组成。激活时uicontrol在检查和清除状态之间切换。在检查状态时根据平台的不同方框被填充或在框内含x,‘value’的属性值为1,若为清除状态,则方框为空,‘value’ 的属性值为0。检查框的‘style’属性为‘checkbox’。检查框典型的用于表明选项的状态或属性。通常检查框是独立的对象,如需要检查框可以与无线按钮交换使用。

静态文本框:显示一个文本字符串的uicontrol该字符串是由‘string’属性值所确定的。静态文本框的‘style’属性值为‘text’。静态文本框典型的用于显示标志、用户信息及当前值。静态文本框之所以称之为静态是因为用户不能动态的修改所显示的文本文本只能通过改变‘string’属性来更改。 可编辑文本框:可编辑文本框允许用户动态的编辑或重新安排文本串。就像是使用文本编辑器或文字处理器一样。在‘string’属性中有该属性。可编辑文本框的uicontrol的‘style’属性值为‘edit’。典型的用在让用户输入文本串或特定值。 滑标:或称滚动条包括三个独立的部分,分别是滚动槽或长方形区域代表有效,对象值范围,滚动槽内的指示器,代表滑标当前值,以及在槽的两端的箭头。滑标的‘style’的属性值为‘slider’。滑标典型的用于从几个值域范围内选定一个。滑标值有三种方式设定,方法一:鼠标指针指向指示器,移动指示器。拖动鼠标是要按住鼠标按钮当指示器位于期望位置后松开鼠标。方法二:当指针处于槽中但在 指示器的一侧时,单击鼠标按钮,指示器按该侧方向移动距离约为整个值域范围的10%。方法三:在滑标无论哪端点击鼠标箭头指示器沿着箭头的方向移动大约为滑标范围的1%,滑标通常与所用文本uicontrol对象一起显示标志当前滑标值及值域范围。

弹出式菜单:典型的用于向用户提出互斥的一系列选项清单,让用户选择。弹出式菜单不受菜单条的限制,可位于图形窗口的任何位置,‘style’属性是‘popupmenu’。当关闭时弹出式菜单以矩形或按钮的形式出现,按钮上含有当前选择的标志在标识的右侧有一个向下的箭头或凸起的小方块来表明uicontrol对象是一个弹出式菜 ,单当指针处在弹出式uicontrol之上并按下鼠标时,出现其它选项。移动指针到不同的选项,松开鼠标就关闭弹出式菜单,显示新的选项。 框架:框架uicontrol对象仅是带色彩的矩形区域。框架提供了视觉的分隔性。框架典型的用于组成无线按钮或其他uicontrol对象。在其他对象放入框架之前框架应事先定义。否则,框架可能覆盖控制框使他们不可见。 五、GUI的应用

编程和回调的考虑,在命令行通过输入uimenu和uicontrol来建立效率不

高,脚本或函数M文件使用更为简便,假定想实现一个M文件首先确定是否要编写脚本或函数文件。 1)脚本与函数

脚本文件似乎成了当然的选择。在脚本中所有的命令都在工作窗口执行,因此,随时可以随时使用所有的MATLAB函数和对象。将信息传给回调函数没有任何困难。在这里有几点权衡,首先,当所有的变量都可以利用时,工作空间充斥了变量名和变量值,即使它们不再有用。其次,如果用户使用clear命令,重要的对象句柄就可能丢失。另一个缺点是,用脚本文件定义回调字符串可能变得十分复杂。另一个问题是脚本文件比函数文件运行的要慢,脚本文件在第一次运行时要编译。最后一点,脚本文件没有函数文件灵活。函数可以接受输入参量并返回值。因此,函数可作为其他函数的参变量。 独立的回调函数,建立GUI函数的一个有效地方法是编写独立的回调函数,专门执行一个或者多个回调。函数使用的对象句柄和其他的变量可以作为参量传递,必要时回调函数可返回值。 2)递归函数调用

利用单独的M文件并递归调用该文件,既可以避免多个M文件的复杂性,又可以利用函数的优点。使用switches或if elseif 语句可将回到函数装入调用函数内通常这样一种调用的结构为function,guifunc,switch其中switch确定为执行那个函数开关的参量,它可以是字符串‘startup’,‘close’,‘seccolor’也可以是代码或数字。

全局变量global,可用在函数中使某些变量对GUI 函数的所有部分都可用全局变量是在函数的公共区说明,因此整个函数以及对函数的递归调用都可以利用全局变量。

3)调试GUI M文件

回调字符串在命令窗口工作空间中计算并执行的。这个情况对编写和调用GUI函数和脚本文件有着隐含的意义,回调字符串可以很复杂,尤其是在脚本文件中,这为句法错误提供了很多机会,记录单引号、逗号、括号是令人头痛的事。如果出现了句法错误,MATLAB给出提示,只要对象的‘callback’属性值是一个真正的文本串,MATLAB就认可了,只有当对象被激活并将回调字符串传给eval时,才检查回调字符串内部的句法错误。

这样让用户定义回调字符串,它涉及未曾定义过的对象句柄和变量,这是编合法的MATLAB命令,并且回调字符串涉及的所有变量可在命令窗口工作空间中是可利用的。将回调函数M文件一样编程或像GUI函数本身内的开关一样编程就可以不运行整个GUI函数而对各个回调进行改变或测试。因此,回调字符串是在命令窗口工作空间中,而不是在函数本身内计算,在函数和各回调函数之间传递数据就变得十分复杂。

参考文献:《matlab程序设计与实例应用》


MATLAB图形用户界面设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于BS的考试系统的设计与实现

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: