欢迎来到天天文库
浏览记录
ID:20867399
大小:418.50 KB
页数:65页
时间:2018-10-17
《qt嵌入式图形开发课件.》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Qt程序设计广州嵌入式软件公共技术支持中心2007年08月内容Linux下gui编程介绍Qt介绍Qt编程嵌入式Qt开发环境搭建GUI的广泛应用随着互联网和移动通信技术的日益成熟,两者相互渗透和融合的步伐正在加快。21世纪被誉为“移动之王”时代,与此同时,嵌入式linux在手机、PDA(个人数字助理)等手持信息设备领域的应用出现了一个强劲的发展势头。手持设备的关键在于人机交互技术的体现,所以一个十分友好的图形用户界面(GUI)是必不可少的。嵌入式Linux的GUI系统嵌入式Linux系统的有代表性的GUI系统主要有MiniGUI、MicroWindo
2、ws、TinyX以及Qt/Embedded。这些GUI系统在接口定义、体系结构、功能特性等方面存在着很大的差别。Tiny-XTiny-X,是标准X-windows在嵌入式系统的小巧实现,作为一个图形环境,X-window是成功的,但由于在体系接口上的原因,限制了它对游戏、多媒体的支持能力。MicroWindowsMicroWindows,其主要特色在于提供了C/S体系结构,同时也提供了相对完善的图形功能。但却无任何硬件加速能力,图形引擎中也存在着许多未经优化的低效算法。MiniGUIMiniGUI,是建立在比较成熟的图形引擎之上,其特点是小巧精致。
3、它尽量保持与Win32的兼容,这样在WinCE应用的场合,也可以使用MiniGUI。Qt系列Qt是一个多平台的C++图形用户界面应用程序框架(类库)。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。完全面向对象的很容易扩展,并且允许真正地组件编程。同时,他还支持Unicode,XML,套接字,线程、OpenGL自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE的基础,Qt支持的平台MS/Windows-95、98、NT4.0、ME、和2000Unix/X1
4、1-Linux、SunSolaris、HP-UX、CompaqTru64UNIX、IBMAIX、SGIIRIX和其它很多X11平台Macintosh-MacOSXEmbedded-有帧缓冲(framebuffer)支持的Linux平台。Qt系列Qt由Trolltech公司开发。按不同的版本发行:Qt企业版和Qt专业版提供给商业软件开发。它们提供传统商业软件发行版并且提供免费升级和技术支持服务。企业版比专业版多一些扩展模块。Qt自由版是Qt仅仅为了开发自由和开放源码软件提供的Unix/X11版本。在Q公共许可证和GNU通用公共许可证下,它是免费的。Q
5、t/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本。在GNU通用公共许可证下,它是免费的。Qt系列架构Qt/EmbeddedQt/Embedded,是一个专门为小型设备提供图形用户界面的应用框架和窗口系统。提供了丰富的窗口小部件(Widgets),并且还支持窗口部件的定制,因此它可以为用户提供漂亮的图形界面。Qt是KDE等项目使用的GUI支持库,所以有许多基于Qt的XWindow程序可以非常方便地移植到Qt/Embedded版本上。Qt编程以实例进行学习,通过分析代码了解Qt的工作模式和用户界面部件,循序渐进。理解组件模型、窗口部件、事件处理、
6、消息-槽机制实例1hello.cppg++hello.cpp-I$(QTDIR)/include-L$(QTDIR)/lib-lm–lqt–ohello#include#include#includeintmain(intargc,char**argv){QApplicationapp(argc,argv);QLabel*label=newQLabel(NULL);QStringstring("Hello,world");label->setText(string);
7、label->setAlignment(Qt::AlignVCenter
8、Qt::AlignHCenter);label->setGeometry(0,0,180,75);label->show();app.setMainWidget(label);return(app.exec());}实例1#include这一行包含了QLabel类的定义。使用哪个类就必须包含哪个头文件的说明。QLabel是一个经典的图形用户界面。程序员可以改变它的全部观感和它的许多主要的属性(比如颜色),还有这个窗口部件的内容。一个QLabel可以显
9、示一段文本或者一个QPixmap。实例1intmain(intargc,char**argv){main()函数是程序的入
此文档下载收益归作者所有