第10章 嵌入式GUI 简介.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Linux的构建及应用开发 4.1 嵌入式GUI简介 4.2 Qt概述 Qt是Trolltech公司的标志性产品,是一个跨平台的C++图形用户界面(GUI)工具包 Qt 应用程序接口与工具兼容于所有支持平台,让开发员们掌握一个应用程序接口,便可执行与平台非相关的应用开发与配置 Qt/Windows??(Windows XP, 2000, NT 4, Me/98) Qt/Mac??(Mac OS X) Qt/X11??(Linux, Solaris, HP-UX, IRIX, AIX等) Qt对不同平台的专门API进行了专门的封装(文件处理,网络等) Trolltech的双重授权模式 Trolltech公司提供两种授权模式,一种用于商业性质的授权,一种用于免费的开源授权 Qt特征(1/3) 面向对象 注重软件构件或元素的可重用性 构件支持 Qt提供信号(signal)和插槽(slot)概念,使得Qt非常适合于真正的构件编程 友好的联机帮助 Qt提供了大量的联机参考文档,有超文本HTML方式,也有Unix帮助页man手册页和补充说明。 Qt特征(2/3) 便利性 Qt定义了一些类来隐藏在不同操作系统上不同处理方式下的细节问题,实现了跨平台 用户自定义 Qt中生成用户自定义的组件非常简单,而且易于修改组件的行为 国际化 Qt为本地化应用提供了完全的支持,所有用户界面文本都可以基于消息翻译表被翻译成各国语言,Qt还支持双字节16bit国际字符标准 Qt特征(3/3) 丰富的API函数 Qt为专业应用提供了大量的函数,在Qt的API中含有大约250个C++类,大多数的类都是GUI专有的 可用户化外观 Qt支持主题,基于Qt的应用程序能够在Windows外观、Motif外观,以及其它一些用户化外观主题之间切换 完整的一套组件工具 Qt编程的基本模块称之为组件,组件是用户界面的组成部分,Qt含有用来创建专业外观的用户界面所需要的所有组件 Qt编程特点 初始化 在Qt应用程序中,首先要创建一个QApplication对象,QApplication类负责图形用户界面应用程序的控制流和主设置,在main.cpp中定义如下: int main(int argc, char **argv) { QApplication a(argc, argv); …… } QApplication (1/2) QApplication包含在main()函数的事件循环体中,对所有来自Window系统和其它源文件的事件进行处理和调度,还包括处理应用程序的初始化和结束,并且提供会话管理。 在Qt应用程序中,不管有多少个窗口,QApplication对象只能有一个,而且必须在其他对象之前创建。 QApplication (2/2) QApplication类中封装了很多函数,包括: 系统设置:setFont() 用来设置字体 事件处理:sendEvent() 用来发送事件 GUI风格:setStyles() 设置图形用户界面的风格 颜色使用:colorSpec() 用来返回颜色文件 文本处理:translate() 用来处理文本信息 创建组件:setmainWidget() 用来设置窗口的主组件 …… 2. 窗口的创建 在Qt程序中,创建窗口比较简单,只要在main.cpp文件中为ApplicationWindow建立一个指针: ApplicationWindow *mw = new ApplicatonWindow(); ApplicationWindow是在Application.h中定义的类,它是一个QmainWindow的继承类 3. 组件的创建 (1/3) 组件的创建需要调用相应组件的类,并在头文件中包含此类的头文件或者创建自定义类,继承以后组件类的功能 #include “qpushbutton.h” class hello::public Qwidget { …… } hello类继承了Qwidget类的特征,并加入了自定义的特征功能,同样需要在头文件中包含此类的头文件 3. 组件的创建 (2/3) 在main.cpp的函数中需要创建hello类的实例,或创建QPushButton类的实例,才可以使用 hello h(string); QPushButton hello(“Hello,world!”,0); 如果组件本身可以作为主窗口,则无需设置主窗口。 3. 组件的创建 (3/3) 在上例中,下压按钮创建时其构造函数中的第

文档评论(0)

yyh892289 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档