图形用户界面(GUI).ppt
《图形用户界面(GUI).ppt》由会员分享,可在线阅读,更多相关《图形用户界面(GUI).ppt(22页珍藏版)》请在三一办公上搜索。
1、第17章 图形用户界面(GUI),用户界面即是用户与硬件、软件交互、通信的中介,通过用户界面,用户向软件发出执行某项功能的指令,该软件利用硬件、其他软件执行该指令,并以图形或文字的形式将执行结果返回给用户。早期的用户界面大多是基于文字的形式,最典型的莫过于DOS系统。用户输入某一指令,系统通过调用软件、硬件资源执行该指令,并以文字的形式返回执行结果。现今,对大多数用户来说,DOS(及类似的用户界面系统)似乎是一个讳深莫测的世界,不仅单调乏味,而且工作效率也很低;人们更青睐于一种所见即所得的用户界面系统,即图形用户界面(Graphical User Interface,简称GUI)。图形用户界面
2、是由窗口、光标、按键、菜单、文字等元素构成的用户视窗,用户通过对这些元素的点击、选中等就能很轻松地完成某项功能,这种所见即所得的特性尤其在图形绘制等方面具有很好的应用。,17.1 两种GUI设计方式,图形用户界面程序可以分为两个相对较独立的子模块,即界面模块和工作模块,界面模块接受用户的输入,并将输入数据和操作请求提交给工作模块;而工作模块通常在后台完成数据处理任务,并将结果提交到界面。相应地,GUI程序设计可以分为界面设计和程序设计两部分。本节首先介绍GUI的界面元素及界面对象层次结构,这是GUI界面设计的基础;第节讨论回调函数,这是GUI程序设计的主要部分。依据GUI界面设计方式的不同,本
3、节将分别讨论手工代码式和GUIDE式两种GUI程序设计方式。鉴于GUIDE式简便、快捷、良好的所见即所得特性,本章后文中以GUIDE式为主讨论GUIDE程序设计。,17.1.1 GUI对象及层次结构,图形用户界面程序的界面部分由各种类型的图形对象组成,如窗口、菜单、按钮等,图是一个MATLAB GUI程序的简单例子。MATLAB的图形对象是MATLAB用于显示数据的基本元素,每个图形对象都有一个唯一惟一的ID,称之为句柄(handle),因此MATLAB图形对象也称为句柄图形对象。用户可以通过图形句柄查询或设置对象的属性,也可以经由图形句柄改变图形对象的外观。关于句柄图像对象相关知识在第14章
4、已有所介绍,这里不再赘述。,17.1.2 回调函数,GUI程序完成初始化之后,其工作流程大致如下:用户通过操作某个界面对象(如单击图17.1中的Resample按钮)向GUI程序发出任务请求;MATLAB自动调用该界面对象的回调函数,响应用户请求并以某种形式返回执行结果。这里有必要澄清一个问题,即回调函数是用户操作触发,但由MATLAB系统调用;用户不需要也不应当直接调用回调函数,用户只需关注回调函数本身。用户也许会对MATLAB系统如何启动回调函数心存疑问,实际上回调函数是界面对象的一个属性,MATLAB系统通过界面对象的句柄查询到回调函数的句柄,从而实现对回调函数的调用。,17.1.3 手
5、工代码式GUI程序,手工代码式的GUI程序要求用户自行编码创建各界面对象,并设置其属性。下面先介绍一个简单的例子,其目的是使读者对MATLAB GUI程序的内部结构有一个更加直观、清醒的认识。总结GUI程序设计的基本步骤如下。确定用户需求,明确GUI程序的功能:用户需要程序完成什么样的任务?用户如何向程序发出任务请求?程序如何将结果返回给用户?绘出GUI的布局(Layout)草图。GUI界面设计,界面设计要着重考虑到界面的美观、简洁,可操作性强。GUI程序设计,主要是回调函数的设计,包括回调函数与界面的通信及回调函数之间的数据共享等,这是GUI程序设计的主要难点之一。验证和调试GUI。以上GU
6、I程序设计的步骤通常不能一蹴而就,往往需要数次的循环迭代才能设计出优秀的GUI 程序。,17.1.4 GUIDE式GUI程序,通过前面的例子可以看出,手工代码式GUI程序设计方法的缺点在于界面设计不具有直观性。另外回调函数的设计也很烦琐,为了实现数据的共享,经常要用到大量的全局变量,这些全局变量不利于程序的组织和扩展。用户也许希望像在VC、VB中那样,只需通过鼠标把需要的对象拖曳到目的位置,并设置相关的属性就能得到一个设计良好的GUI界面,这正是下面将要介绍的GUIDE。为此,下面通过一个简单的例子介绍GUIDE式的GUI程序设计方法,其目的主要是了解其设计的主体思路,更详细的内容将在本章后续
7、内容中讨论。,17.1.5 GUIDE界面环境,本小节在前文的基础上进一步介绍GUIDE,主要是GUI界面编辑环境,并简要介绍GUI M文件编辑器的相关操作。GUIDE创建的GUI程序由两个文件组成:FIG文件,即用户界面文件;M文件,保存了GUI程序所有的代码,用户所有的编码工作都在该文件中完成。,17.2 GUI界面设计,界面设计在软件设计中具有重要的地位,有时界面的好坏甚至决定了软件的命运,对图形用户界面程序更是如此。本节首先给出了MATLAB GUI程序界面设计的一些原则和要考虑的主要问题,这对后面的界面设计工作具有重要的指导意义;接着将对窗口、轴、菜单、控件等界面对象逐一进行详细介绍
8、,主要是各类对象的相关属性。,17.2.1 界面设计原则,用户界面是人与计算机之间的媒介,用户通过用户界面来与计算机进行信息交换,所以软件的友好性、易用性对于软件系统至关重要。用户界面设计的最高原则应该是用户无须阅读操作手册就知道如何使用软件。软件系统的发展已经进行了很多年,每类软件都有其流行的界面风格和设计惯例,既然不是每个人都能成为界面大师,那么作者认为东施效颦也未尝不是一个有效的方法。这里列出常见的界面设计方面的原则以供读者参考,相信这些原则对读者在设计用户界面方面能有所借鉴。,17.2.2 窗口和轴,窗口是GUI各类界面对象的容器,是任何GUI程序界面不可缺少的元素。从对象继承关系看,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形 用户界面 GUI

链接地址:https://www.31ppt.com/p-6042710.html