MATLAB/SIMULINK实用教程张化光孙秋野刘鑫蕊编著第6章图形用户界面(GUI)6.1GUI对象层次结构6.2使用M文件创建GUI对象6.3使用GUIDE创建GUI对象6.4使用GUIDE创建自定义菜单6.5小结如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面(GraphicalUserInterfaces,GUI)是较好的选择之一。图形用户界面通常是一种包含多种图形对象的界面,典型的图形界面包括图形显示、功能按钮控件以及用户自定义的功能菜单等。为了让界面实现各种功能,用户需要对各个图形对象进行布局和事件编程。这样,当用户激活对应的GUI对象时,就能执行相应的事件行为。最后,必须保存和发布自己创建的GUI,使得用户可以应用GUI对象。本章通过几个例子介绍GUI中最重要的三种方法:使用M文件创建GUI对象,使用GUIDE创建GUI对象和标准菜单的定制。6.1GUI对象层次结构图形对象不仅包括uimenu和uicontrol对象,而且还包括图形、坐标轴和它们的子对象。让我们从另一个角度来看这一层次结构,计算机的屏幕本身是根结点,图形是根对象的子对象,角坐标轴、uimenu和uicontrol是图形的子对象。根可以包括多个图形,每个图形含有一组或多组坐标轴以及其子对象,每个图形也可以有一个或多个与坐标轴无关的uimenu和uicontrol,如图6-1所示。虽然uicontrol对象无子对象结点,但他们确实具有多种类型。uimenu对象常将其他的uimenu对象作为其子对象。表6-1所示给出了Uimenu对象的属性及其意义。图6-1GUI对象层次结构图6.2使用M文件创建GUI对象本节将介绍如何使用M文件来创建简单的GUI对象,并可以响应用户的键盘或鼠标操作。【例6-1】构造如图6-2所示的GUI对象,要求单击June按钮时,在文本框显示June;单击July按钮时,在文本框显示June,单击off按钮时,off按钮显示为on;单击close按钮关闭窗口。图6-2使用M文件创建带有按钮和文本框的GUI对象图【例6-2】构造如图6-3所示的GUI对象,当在坐标轴范围内单击鼠标左键,会在相应位置产生“*”号。图6-3使用M文件创建鼠标响应的GUI对象图6.3使用GUIDE创建GUI对象MATLAB图形用户界面开发环境(GUIDE)提供了多种设计模板,用户可以轻松地定制属于自己的GUI对象,同时自动生成M文件框架,并用该框架编写自己的函数代码。【例6-3】使用GUIDE来定制如图6-4所示的GUI对象界面,使用M文件来编写相应的事件程序,完成整个创建工作。图6-4使用GUIDE创建GUI对象图1.启动GUIDE图6-5启动GUIDE2.控件对象的布局和属性设置图6-6控件对象的布局和属性设置3.编写相应的程序代码4.生成Fig文件和M文件6.4使用GUIDE创建自定义菜单在GUI控件对象中,界面菜单(uimenu)是一个重要的组成部分。用户可以根据需要在GUI对象中创建标准菜单,自行设置菜单或创建现场菜单等,同时可以设置菜单控件的各种属性。图6-8菜单编辑器6.5小结熟悉如VB,VC,Java等面向对象编程的读者在学习使用GUIDE创建GUI对象和标准菜单的定制时,会发现它们之间的相似之处,因此上手很容易,但如果要精通G′,则需要更加深入的学习。本章简要介绍了图形用户界面的使用,并通过例子介绍GUI中最重要的三种方法。