17_嵌入式QT编程ppt课件_第1页
17_嵌入式QT编程ppt课件_第2页
17_嵌入式QT编程ppt课件_第3页
17_嵌入式QT编程ppt课件_第4页
17_嵌入式QT编程ppt课件_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,Qt编程,1,内容摘要,嵌入式GUI概述QT编程概述基于QT设计器的编程方法迁移Qt/Embedded环境,2,嵌入式GUI简介,GTK (c),Qt (c),gnome嵌入式GUI概述,3项目的初始目标是在嵌入式Linux平台上提供与普通PC类似的图形用户界面。代替PC上的X-Windows,Microwindows提供了与X-Windows类似的功能,但占用的内存要少得多。根据用户配置,Microwindows将使用100KB至60KB的内存资源。嵌入式GUI概述、4、Microwindows和Microwindows可以在主机系统上模拟目标。这意味着基于Linux的Microwindo

2、ws应用程序的开发和调试可以在普通PC上执行,无需使用普通嵌入式软件的“主机目标”调试模式,从而大大加快了开发速度。Microwindows的核心是基于显示设备接口,因此移植效果很好;microwindows有自己的Framebuffer,因此它在eCos、FreeBSD、RTEMS等操作系统上运行得很好,而不仅限于Linux开发平台。Mincrowindows是完全免费的用户图形系统。嵌入式GUI概述,5,MiniGUI,MiniGUI是北京飞行软件技术有限公司(GPL合规性)主办的自由软件项目,其目标是基于实时嵌入式系统提供轻量图形用户界面支持系统。MiniGUI为应用程序定义了轻量级窗口

3、和图形设备接口集。这些界面允许您为每个应用程序设置多个窗口,并允许您在这些窗口中绘制图形。还可以使用MiniGUI设置常用的GUI元素,如菜单、按钮和列表框。嵌入式GUI概述、6、Qt和Qt是Trolltech的标志,是跨平台C图形用户界面(GUI)工具包。现在被诺基亚收购,诺基亚的专业部门正在进行技术支持和裴珉姬维修。Qt应用程序界面和工具与所有支持的平台兼容,因此开发人员开发和配置不特定于平台的应用程序Qt/windows (windows XP、2000、nt 4、me/98) Qt/MAC (MAC IRIX、AIX等)Qt是各种平台的专用AIX根据上下文以国际化的字符串自然方式组织对

4、象所有权的层次结构和可查询对象树。保留的指针、QGuardedPtr、引用对象损坏时可自动设置为无效。与正常的C指针不同,当对象损坏时,它会变为“摆动指针”。嵌入式GUI概述,8,Qt/Embedded Qt/Embedded (QtE)是用于为嵌入式系统设计图形用户界面的工具包。嵌入式系统要求小、快,QtE有助于开发人员开发满足这些要求的强大应用程序。QtE是模块化和可裁剪的地方。开发者可以选择他需要的一些特性来剪去不需要的东西。这样,通过选择所需的特性,QtE的图像变小了,至少只有600K左右。将使用QtE开发的应用程序迁移到其他平台时,无需修改代码,只需重新编译即可。嵌入式GUI概述,9

5、,独立于硬件平台:QtE适用于所有主要平台和CPU。支持所有主要嵌入式Linux。Linux上QtE的基本要求只是Frame Buffer设备和C编译器(如gcc)。Qte还支持许多实时嵌入式系统,如QNX和WindowsCE。提供压缩字体格式:在较小的内存中也提供卓越的字体支持。支持多种硬件和软件输入。支持unicode使程序可以轻松支持多种语言。支持消除锯齿文本和alpha混合的图片。QtE特性,嵌入式GUI概述,10,QtE公开代码和技术文档不是免费的。开发者的商业化产品需要他的运行时间时,必须向诺基亚公司支持许可费用。如果开发的东西没有用于商业用途,就不需要支付费用。QtE提供了平台独

6、立性和良好的GUI编程接口,在许多嵌入式系统中广泛使用,是成功的嵌入式Gui产品。QtE功能、嵌入式GUI概述、11、Qtopia和Trolltech基于QtE开发了用于移动和手持设备开发的应用程序环境Qtopia。其特征是完整而美丽的GUI,它提供了数百个用于管理用户信息、办公室、娱乐、internet通信等的应用程序。已经有很多公司采用Qtopia开发他们的主流PDA。嵌入式GUI概述、12、Qtopia是全面的应用程序开发平台,可用于基于嵌入式Linux的PDA、手机、web pads和其他移动计算设备。Qtopia旨在提供和创建基于Qt/Embedded的基于Linux的消费电子产品的

7、图形用户界面。有两个常用版本的Qtopia Phone edition。qtopia phone edition专为基于Linux的智能手机和多功能电话而设计。Qtopia PDA版本:专为基于Linux的PDA设计。嵌入式GUI概述,13,Qtopia功能:窗口操作系统窗口同步开发环境本地化支持游戏和多媒体PIM应用程序输入法个性化选项internet应用程序;Java集成;无线支持,嵌入式GUI概述,14,QT编程核心技术,QT对象模型元对象系统信号和插槽属性QObject类对象树事件处理,Qt编程概述,15,元对象系统,C扩展。Qt更适合实际组件GUI编程。使用元编译器MOC生成可由标准

8、C编译器访问的其他C代码。具有MOC预编译器的C基本上提供了面向对象的灵活性,并保持了C的执行效率和可扩展性。QT编程概述、16、信号和插槽、QT程序中使用信号(signal)和插槽(slot)机制处理对象间通信事件的方法也是回调。物件状态变更时,传送signal接收通知给所有slot。这不知道哪个函数定义slot,但不知道slot接收哪个signal signal。Slot除了接收signal外,与其他成员函数没有区别,在signal和Slot之间不是一一对应。Qt编程概述,17,signal和slot声明(1/2),在QT编程中,必须将Q_OBJECT的定义class student 33

9、60 public q object添加到包含Signal和Slot的所有类中public slots : void setmark(int new mark);更改Signals : void段宜恩(intnew mark);Private: int myMark。QT编程概述,18,signal和Slot声明(2/2),signal的发布通常在事件处理程序中使用emit发布Signal,在下面的示例中,Signal void student :33333333333333在事件处理完成后发布Emit mark changed(我的段宜恩);QT编程概述,19,signal和slot的连接(

10、1/2),必须在声明Signal和Slot之后使用connect()函数进行连接。Connect()函数是QObject类的成员函数,可以用于连接signal和slot,也可以用于连接signal和signal。函数原型是bool qobject 33603360 connect(const qobject const qobject * receiver,constchar * member) static的第一个和第三个参数分别是signal和sloolQT编程概述,20、SIGNAL和slot连接两个宏Signal()和SLOT()也是QLabel * label=new QLabel需

11、要使用QS crollbar * scroll=new QS crollbar;q object 33603360 connect(scroll、signal (value changed (int)、label、slot (setnum (int)、属性也是类的成员。在类声明中,使用宏Q_PROPERTY声明成员函数,该函数只能在从QObject继承的子类中声明设置和属性。QObject 3360: set property()qmeta object 33603360 property nanal qmeta object 33603360 property(),Qt编程概述,24,qop

12、此机制适合图形用户界面应用程序对象的需要。事件:事件是由窗口系统或Qt本身对各种事务处理的响应引起的。当用户按下或释放键或鼠标按钮时,会发生键盘或鼠标事件。第一次显示窗口时,将创建绘图事件,通知您必须在最近可见的窗口中重画。大多数事件是响应用户的动作而发生的,但是有些事件(如计时器)是由系统独立发生的。QT编程概述、25、事件执行机制、事件循环、QT编程概述、26、QApplication、QApplication、QWidget都是QObject类的子类,QApplication类是GUI应用程序的控制流和主要控制流QT编程概述、27、QWidget和QWidget类是继承QObject类属

13、性的所有用户界面对象的基类。组件是用户界面中的单元格组件,用于侦听鼠标、键盘和其它窗口系统中的事件,并将事件绘制到磁盘屏幕上。QWidget类包含很多成员函数,但通常不直接使用。相反,通过子类继承使用函数功能。例如,QPushButton、QlistBox等是子类。Qt编程概述,28,完整的QT程序,1 # include 2 # include 3 intmain(intargc,char) 6);7 label-show();8 return app。exec();9、QT编程概述、29、QT设计人员、直接使用代码编写GUI是很痛苦的事情,但是QT提供了界面开发工具。QT设计器QT应用程序除了可以手动编写代码外,还可以使用QT设计器完成QT设计器。还包括各种可编程组件、基于QT设计器的编程、30、基于QT设计器的编程、31、基于QT设计器的编程(1/4)、QT设计器程序开发,通常包括以下步骤1:建立和初始化次组合2。子部件布局设置3 .设定跳位顺序(非必要)4。设置信号和插槽连接5。创建事件处理程序,基于Qt设计器的编程,32,基于Qt设计器的编程3。信号和插槽连接,基于Qt设计器的编程,33,基于Qt设计器的编程(3/4),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论