- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 图形用户接口 8.1 嵌入式图形系统简介 8.2 QT 8.1 嵌入式图形系统简介 8.1.1 GUI的概念 8.1.2 Linux图形系统的发展史 8.1.3 嵌入式GUI 8.1.4 常用的几种嵌入式GUI 8.1.1 GUI的概念 GUI(Graphics User Interface)图形用户接口,是计算机与用户之间的图形化对话接口,如电脑界面,手机界面,游戏机界面等。 这些界面一般由两部分组成: 一个是提供用户操作的界面的应用程序,如电脑的记事本,手机上的电话本,短消息等 另一个管理系统里面所有的应用的窗口的交互,建立等,这个部分又被称为GUI Framework。 应用程序一般是根据用户的需求开发出来的直接为用户服务的软件,它需要利用Gui Framework提供的接口来建立用户可见的窗口,按钮,并且将对应的按钮绑定上自己的处理函数,处理自定义的消息。 一些复杂的应用可能需要在Gui Framework的基础上再进行封装,提供功能更强大的接口,例如一个图形化浏览器,GUI Framework提供的接口不够它的需求,页面的排版Framework没有提供,就需要进行二次封装。 Gui Framework提供给应用的接口主要包括窗口的建立,事件的注册,还会提供更加底层的接口让应用创建自己特色的窗口。 Framework内部实现主要分为四部分: 1. 图形引擎 2. 事件系统 3. 窗口系统 4. 用户接口层 图形引擎提供最底层的图形函数,如点、线、矩形、椭圆形、图片等,及最底层的图形区域的计算,颜色的计算等。 事件系统提供对最原始的硬件源事件的管理,如鼠标的点击,键盘的输入,触摸屏的操作等,将这些事件发送到指定的模块,以及提供内部自定义的事件管理和转发。 窗口系统实际上是对图形引擎和事件系统的封装,给本来屏幕上每一块的区域都添加了“生命”,使得这些区域可以响应事件,显示特定的图像。 用户接口层主要是为应用程序服务的,让应用程序不关心图形引擎和事件系统的情况下来建立自己的窗口。 8.1.2 Linux图形系统的发展史 Windows是一个图形操作系统,它的GUI和操作系统是在一起的,而Linux本身没有图形界面,linux下的图形界面是应用程序实现的,支持的标准是X Winodw。 图形界面并不是linux 的一部分,linux只是一个基于命令行的文本操作系统。 linux和X Window的关系就相当于当年的DOS和 WINDOWS3.0一样,windows3.0不是独立的操作系统,它只是DOS的扩充,是DOS下的应用程序级别的系统,不是独立的操作系统,同样X Windows只是linux下的一个应用程序 而已,不是系统的一部分。 GUI的存在可以方便用户使用电脑。WIN95以后,图形界面成为windows操作系统的一部分,其功能在系统内核中实现。 没有了图形界面,windows就不成为windows了,但linux还是linux,很多装linux的 WEB服务器就根本不装GUI。这也是WINDOWS和linux的重要区别之一。 一些GUI相关名词: X Window:业界标准 Open Look:来自SUN与ATT Motif:来自IBM/HP的OSF CDE:UNIX的标准图形界面 QT:KDE 的开发基础 GNOME:GNOME组织的自由软件 8.1.3 嵌入式GUI 早期嵌入式系统功能简单,对图形用户界面需求并不是太大。而且当时的图形系统对硬件要求太高,在嵌入式上实现几乎没有可能。 软硬件技术的进步使得嵌入式系统下的图形开发成为可能,嵌入式GUI(嵌入式系统使用的GUI)使我们能更容易易地编写出更好、更漂亮的界面。 嵌入式GUI具有一些与一般GUI不同的特点: 占用的存储空间以及运行时占用资源少,这一点决定它和Windows不同,也和PC上运行的大型GUI不同 运行速度及响应速度快,能适应嵌入式系统的实时性要求 可靠性高,这和嵌入式的应用领域相关,比如军事、航天和工业控制领域。 便于移植和定制,嵌入式系统本身就是一种个性化设备,对GUI的需求各不相同,所以它使用的GUI也必须是可定制的。 8.1.4 常用的几种嵌入式GUI 一个简单的GUI—μcGUI 嵌入式linux(支持X Windows)下的GUI: TinyX MicroWindows OpenGUI MiniGUI Qt 一个简单的GUI--μcGUI UCGUI严格说并不能算GUI,只是一种嵌入式应用中的图形支持系统,它独立于处理器及LCD控制器,可适用单任务或是多任务系统环境。 它的设计架构是模块化的,由一个LCD驱动层来包含所有对LCD的具体图形操作,可以在任何CPU上运行, 是100%的标准C
文档评论(0)