- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章嵌入式gui程序开发
第11章 嵌入式GUI程序开发 许多嵌入式设备都提供了图形界面。由于嵌入式设备输入输出设备的限制,键盘和鼠标等传统的输入设备不便于使用,通过图形界面,可以很好的完成人机交互。在嵌入式Linux系统,有许多的图形库可以使用。本节重点介绍在嵌入式Linux上使用最广泛的Qt程序库,主要内容如下: 嵌入式Linux图形库介绍 Qt开发环境搭建 开发Qt应用程序 搭建嵌入式Qt工作环境 在嵌入式Linux系统使用Qt应用程序 11.1 Linux GUI介绍 GUI是Graphic User Interface的缩写,中文意思是图形用户接口。目前,几乎所有的操作系统都提供了GUI,GUI也逐渐成为操作系统图形界面的代名词。与其他的商业系统如Windows不同,Linux系统的开放特性让许多图形界面都可以运行在Linux系统下。实际上,Linux内核本身并没有图形处理能力,所有Linux系统的图形界面都是作为用户程序运行的。本节介绍Linux图形界面的发展和常见的几种图形界面。 11.1.1 Linux GUI的发展 从1981第一个计算机图形界面诞生到现在,计算机图形界面有着飞速的发展。与图形界面发展相应的是计算机硬件处理能力的不断提高。最初的图形界面仅提供了很简单的功能,而且不支持鼠标操作,受到硬件的限制,颜色位数也很低。在计算机图形界面发展过称中,XWindow、MacOS、Windows是发展的最好的三个系统。 XWindow采用C/S结构设计,几乎是Unix类系统图形界面的标准。XWindow的服务器向客户端提供图形输出能力,因此,一个XWindow服务器可以支持多个图形客户端。在多用户和多任务方面XWindow比其他图形系统更胜一筹。 11.1.2 常见的嵌入式GUI Linux系统本身并没有图形界面,但是由于其开放性,有许多的自由软件图形库和图形界面。本节介绍几种目前最流行的图形界面。 1.GNOME 2.KDE 3.Qt 4.MiniGUI 11.2 开发图形界面程序 Qt程序库是一个跨平台的程序库。Qt程序库提供了一套完整的开发环境,目前可以运行在Windows、Linux和MacOS。本书推荐在Windows环境下使用Qt开发环境,好处是可以与其他的开发工具一同使用。 11.2.1 安装Qt开发环境 在使用Qt开发环境之前,首先需要从/downloads/sdk-windows-cpp下载Windows版的Qt集成开发环境。下载完毕后,双击安装程序开始安装,安装过程比较简单,使用默认的配置即可。安装完毕后Qt开发环境被安装到c:\qt目录下。在使用开发环境之前,需要配置一下Qt开发环境。 11.2.2 建立简单的Qt程序 Qt图形库的结构设计的非常合理,因此开发图形程序比较简单,本节先从一个最简单的例子入手,开发第一个Qt图形界面程序。 1.基本的Qt图形界面应用程序 2.文本界面风格的HelloWorld程序 3.带有功能响应的Qt应用程序 11.2.3 Qt库编程结构 Qt图形库是一个组织严谨的C++类库。 11.3 深入Qt编程 在了解了Qt的库结构后,本节从几个稍微复杂点的例子入手,讲解Qt程序如何管理多个空间以及响应不同的事件。 11.3.1 使用Widget 11.2节的例子一个应用程序中只有一个控件,因此对于控件的布局不需要过多管理。通常有实际功能的应用程序都不止一个控件,因此需要对控件的布局进行管理,否则控件在窗体上的位置可能不固定。 Qt提供了QWidget机制管理窗体上控件的布局。QWidget是一个布局管理类,可以把QWidget理解为一个控件容器,在一个容器内可以容纳多个控件,容器可以设置控件的相对位置等。实际上,Qt支持层次关系的布局,在一个布局里面还可以有子布局,可以把窗体上的控件组织到不同的布局里面,最后把多个布局放到一个布局里,这样不仅能按照区域管理控件,也可以集中管理所有的控件。 11.3. 2 对话框程序设计 对话框是图形界面中经常见到的一类界面。对话框通常用来完成一类特定的功能,例如打开文件对话框,颜色设置对话框等。本节介绍如何使用Qt建立一个类似Windows系统查找对话框的界面。 本节提供的例子共有三个文件,FindDialog.h文件声明了FindDialog类,FindDialog.cpp文件是FindDialog类的实现,main.cpp使用FindDialog创建应用程序。 1.对话框头文件 2.对话框实现代码 3.创建FindDialog对话框 11.3. 2 对话框程序设计 11.3.3 信号与槽系统 在例11-3读者会发现使用了connect()函数把按钮的单击事件与一个处理函数连接起来,connect()函数的原型如下: conne
您可能关注的文档
最近下载
- 2025金风变流器2.0MW故障代码手册V4.docx VIP
- 神经系统疾病病人的护理—颅内压增高与脑疝病人的护理.ppt
- VW 75205_DE 扭线 标准要求.pdf VIP
- 临时占道施工方案及安全措施.docx VIP
- 2024年软件资格考试系统集成项目管理工程师(中级)(基础知识、应用技术)合卷试卷与参考答案.docx VIP
- 纪委遴选笔试题及答案.doc VIP
- 内蒙古新街台格庙矿区新街二井及选煤厂水土保持方案.pdf VIP
- 2026国家公务员考试《申论》三色笔记.pdf VIP
- 2025年版《中华人民共和国药典》修订内容解读与实施指南.pptx VIP
- 货物仓储监管三方合同协议书范本模板.doc VIP
文档评论(0)