零基础学QT4编程.pdf

上传人:qwe****56 文档编号:70014510 上传时间:2023-01-14 格式:PDF 页数:498 大小:8.22MB
返回 下载 相关 举报
零基础学QT4编程.pdf_第1页
第1页 / 共498页
零基础学QT4编程.pdf_第2页
第2页 / 共498页
点击查看更多>>
资源描述

《零基础学QT4编程.pdf》由会员分享,可在线阅读,更多相关《零基础学QT4编程.pdf(498页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第 1 1 章章 走近走近 QtQt本章重点本章重点 了解 Qt 的起源和功用 了解 Qt 产品线以及对应的平台 了解 Qt 开发工具的组成和功用 掌握 Qt 的授权区分、服务支持 掌握 Qt4.5 版的最新内容1.11.1 QtQt 简介简介首先让我们看看业界对于 Qt 的评论:“Qt 将帮助我们为用户提供空前诱人的应用程序。诺基亚对跨平台 Qt 库和Linux 平台的一贯投入,是免费软件桌面和移动设备堆栈创新的主要驱动力。”Mark Shuttleworth,Ubuntu 项目创始人“Qt 是极具创新的和实用的技术。包含了 QtWebKit 的 Qt 提供了一个强大的,跨平台的网络体验,

2、确保了我们的 3D 环境所具备的身临其境的感觉。我们渴望将 QtWebkit 纳入到Second Life中,从而提高在 Web 上的虚拟世界的集成度。”Linden LabJoe Miller,Linden 实验室平台与技术开发部副总裁看起来,Qt 是如此的吸引人,那么就让我带您走进 Qt 的世界吧。1.1.关于关于 QtQtQt 是一个已经形成事实上的标准 的 C+框架,它被用于高性能的跨平台软件开发。除了拥有扩展的 C+类库以外,Qt 还提供了许多可用来直接快速编写应用程序的工具。此外,Qt 还具有跨平台能力并能提供国际化支持,这一切确保了 Qt 应用程序的市场应用范围极为广泛。自 19

3、95 年以来,Qt 逐步进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt C+框架一直是商业应用程序的核心。无论是跨国公司和大型组织(例如:Adobe、Boeing、Google、IBM、Motorola、NASA、Skype)、还是无数小型公司和组织都在使用 Qt。Qt 也是流行的 Linux 桌面环境 KDE 的基础(KDE 是所有主要的 Linux发行版的一个标准组件)。Qt4 在新增更多强大功能的同时,旨在比先前的 Qt 版本更易于扩展和使用。Qt 的类功能全面,提供一致性接口,更易于学习使用,可减轻开发人员的工作负担、提高编程人员的效率。另外,Qt 一直都是完全面

4、向对象的,并且允许真正的组件编程。Qt 软件前身为 Trolltech(奇趣科技),2008 年 6 月被诺基亚收购。更多关于 QtSoftware 的信息,请访问网站 。下面是 Qt4 的 Logo,Qt 通常以清新的绿色作为自己的宣传色,图中中间区域是一个大写的 Q 字母,里面斜向嵌入了大写的 T 字母,在右上角表明了 Qt 的版本。图 1-1 Qt4 的 Logo2.2.关于关于 TrolltechTrolltech(奇趣科技)(奇趣科技)Trolltech 是由 Haavard Nord(执行总裁)和 Eirik Chambe-Eng(总裁)于 1994 年创立的,2008 年 6 月

5、被 NOKIA 收购。过去十几年来,Trolltech 的销售业绩持续增长。Trolltech 采取了成功的双重授权战略,为开发者提供商业和免费软件的授权使用。它的创始人秉持财富共享的理念,已捐献出 Trolltech 公司 5的资产给慈善基金会。它拥有遍布全球 60 个国家的 4400 个客户,其中包括 Adobe,IBM(国际商用机器公司),Sharp(夏普)、Siemens(西门子)以及其他全球知名公司。目前,拥有来自 17 个不同国家的雇员。Trolltech 公司的总部位于挪威的奥斯陆,并在澳大利亚的布里斯班,中国北京及美国加利福尼亚的帕洛阿尔托设有办事处。3.3.关于关于 Noki

6、a(Nokia(诺基亚诺基亚)诺基亚是移动世界的全球领先者,引领着互联网及通信融合产业的转型与发展。凭借多样化的移动终端产品、软件与服务,诺基亚为人们带来了音乐、导航、视频、电 视、影像、游戏、移动商务等丰富体验。面向用户的互联网服务的发展以及企业解决方案和软件业务的增长是诺基亚发展的重点。此外,诺基亚还通过诺基亚西门子通信公司为通信网络提供设备、解决方案和服务。4.4.QtQt 支持的平台(以支持的平台(以 4.54.5 版为准)版为准)Qt4.5 可提供于下列平台:Windows(Microsoft Windows Vista,XP,2000,2003,NT4,Me/98)WinCE Ma

7、c(Mac OS X)X11(Linux,Solaris,HP-UX,IRIX,AIX,.以及其他 UNIX 系统)Embedded Linux表 1-1 所示为 Qt4.5 支持的平台和编译器的详细情况,表 1-2 为 Qt4.5 不支持的平台和编译器的详细情况。表 1-1 Qt4.5 支持的平台情况软件平台硬件架构Makespec编译器Microsoft WindowsIntel 32/64-bitwin32-g+,win32-icc,win32-msvc2003,win32-msvc2005win32-msvc2008GCC 3.4.2(MinGW)(32-bit),Intel icc,

8、MSVC 2003,MSVC 2005(32 and 64-bit),MSVC 2008Windows CEIntel 32-bit,ARMv4i,MIPSWince-msvc2005,wince-msvc2008Visual Studio 2005Visual Studio 2008Linux(32 and 64-bit)Intel 32/64-bit,Itanium,MIPSLinux-g+linux-icclinux-icc-32linux-icc-64GCC 3.3,GCC 3.4,GCC 4.0,GCC 4.1,4.2,4.3Embedded LinuxARM,Intel 32-bi

9、t,MIPS,PowerPCqws/linux-arm-g+,qws/linux-x86-g+,qws/linux-g+GCC 3.4,GCC 4.1,GCC 4.2,GCC 4.3Apple Mac OS X(32-bit)Intel 32/64-bit,PowerPCMacx-g+macx-g+42GCC 4.0.1,GCC 4.2SolarisSPARC,Intel 32-bitSolaris-ccsolaris-g+Sun CC 5.5GCC 3.4.2AIXPowerPCAix-xlcaix-xlc-64xlC 6HPUXPA/RISC,ItaniumHpux-acchpux-g+h

10、pux-g+-64hpuxi-accA.03.57(aCC 3.57)GCC 3.4.4A.06.10(aCC 6.10)表 1-2 Qt4.5 不支持的平台情况软件平台硬件架构Makespec编译器Windows XP/VistaIntel 32/64-bitwin32-msvcVisual C+6.0Windows XP/VistaIntel 32/64-bitwin32-msvc2002Visual Studio 2002Windows XP/VistaIntel 32/64-bitwin32-Visual Studio 2002IRIXMIPSirix-ccMIPS ProIRIXMI

11、PSirix-g+GCC 3.31.21.2 QtQt 纪事概览纪事概览 Qt Software 前身为 Trolltech(奇趣科技),Trolltech 始创于 1994 年 1996 年 Qt 上市 Qt 已成为数以万计的商业和开源应用程序的基础 Qt 的软件授权机制具有经受市场检验的双重授权(开源与商业)模式 Trolltech 于 2008 年 6 月被 Nokia 收购,加速了其跨平台开发战略阅读材料:阅读材料:QtQt 简史简史Qt 工具包最初是在 1995 年 5 月变为公众可用的。它最初由 Haavard Nord(Trolltech的 CEO)和 Eirik Chambe-

12、Eng(Trolltech 的总裁)开发。Haavard 和 Eirik 是在位于挪威特隆赫姆的挪威科技学院相识的,在那里他们都获得了计算机科学硕士学位。Havvard 对 C+图形用户界面开发的兴趣始于 1988 年,当时他被一家瑞典公司委托设计并且开发一个 C+图形用户界面工具包。几年后,在 1990 年夏天,Havvard 和 Eirik 因为一个超声波图像方面的 C+数据库应用程序在一起工作。这个系统要求能够在 Unix、Macintosh 和 Windows 上都能运行。那个夏天中的一天,Haavard 和 Eirik 出去散步享受阳光。当他们坐在公园的一个长椅上,Haavard 说

13、:“我们需要一个面向对象的显示系统。”由此引发的讨论奠定了他们即将创建的面向对象的多平台图形用户界面工具包的智力基础。Haavard 于 1991 年开始和 Eirik 合作设计、编写最终成为 Qt 的这些类。随后的一年,Eirik 提出了“信号和槽”的设想一个简单并且有效的强大的图形用户界面编程范例。Haavard 实践了这个想法,并且建立了一个手写代码实现。到 1993 年,Haavard 和 Eirik当时已经开发出了 Qt 的第一个图形核心并且能够实现他们自己的窗口部件。同年末,Haavard 提议他们一起开展并且创建“世界上最好的 C+图形用户界面工具包”的业务。1994 年成为两个

14、程序员不幸的一年,他们没有客户,没有资金,只有一个未完成的产品,却希望闯入一个稳定的市场。非常幸运的是他们的妻子都有工作并且愿意支持他们的丈夫。在这两年里,Haavard 和 Eirik 认为需要继续开发他们的产品并且开始盈利。他们选择“Q”作为类的前缀,是因为该字母在 Haavard 的 Emacs 字体中看起来非常漂亮。“t”代表“工具包(toolkit)”,是从“Xt”,X 工具包中获得的灵感。公司于 1994年 3 月 4 日创立,最初名为“Quasar Technologies”,后更名为“Troll Tech”,现在改为“Trolltech”。1995 年 5 月,通过 Haava

15、rd 大学时的一个教授的联系,挪威 Metis 公司与他们签订了一份基于 Qt 进行软件开发的合同。大约同一时间,Trolltech 雇佣了 Arnt Gulbrandsen,正是他设计并实现了一套有独创性的文档系统,并且对 Qt 的代码也作出了贡献。1995 年 5 月 20 日,Qt 0.90 被上传到 sunsite.unc.edu。6 天后,在 comp.os.linux-announce 上发布。这是 Qt 的第一次公开发布。Qt 可以被同时用于 Windows 和 Unix 开发,它在两种平台上提供了相同的应用程序编程接口。从第一天起,Qt 就提供两种许可版本:一种是进行商业开发所

16、需的商业许可版本,另一种是进行开源开发的自由软件版本。Metis的合同确保了 Trolltech 的发展,在 10 个月之内没有人购买 Qt 的商业许可。1996 年,European Space Agency 购买了 10 份 Qt 商业许可,成了第 2 个 Qt 客户。凭着坚定的信念,Eirik 和 Haavard 又雇佣了另外一个开发人员。Qt 0.97 在 5 月底发布,并且在 1999 年 9 月 24 日,Qt1.0 面世。在这一年底,Qt 已经发展到了 1.1 的版本,共有来自 8 个不同国家的客户,他们购买了 18 份商业许可。这一年,在 Matthias Ettrich 的带

17、领下,创立了 KDE 项目。Qt 1.2 在 1997 年 4 月发布。Matthias Ettrich 利用 Qt 建立 KDE 的决定似的 Qt 成为在 Linux 环境下开发 C+图形用户界面的实际标准。Qt1.3 在 1997 年 9 月发布。Matthias 在 1998 年加入 Trolltech。当年 9 月最后一个 1 系列的版本 1.40 发布。1999 年 6 月 Qt2.0 发布。Qt2.0 有很多架构上的改变,比它的前几个版本功能更为强大,更为成熟。它还具备了 40 个新类和 Unicode 支持。Qt2 有了一个新的开源许可,Q 公共许可(QPL,Q Public L

18、icense),它遵循了开源定义。在 1999 年 8 月,Qt 赢得了 LinuxWorld的最佳库/工具奖。大约在这个时候,Trolltech Pty Ltd(澳大利亚)建立了。Trolltech 在 2000 年发布了 Qt/Embedded。它被设计为可以运行在嵌入式 Linux 设备上,并且提供了它自己的窗口系统作为 X11 的轻型替代品。现在 Qt/Embedded 和 Qt/X11 除了提供商业许可之外,还可以提供被广泛使用的 GNU 通用许可(GPL,GNU General PublicLicense)。到 2000 年底,Trolltech 已经创建了 Trolltech I

19、nc.(美国),并发布了第一个 Qtopia 版本,一个手持设备环境。Qt/Embedded 在 2001 年和 2002 年两次获得LinuxWorld“Best Embedded Linux Solution”(最好的嵌入式 Linux 解决方案)奖。Qt3.0 在 2001 年发布。现在 Qt 可以用于 Windows、Unix、Linux、嵌入式 Linux 和 MacOS X。Qt3.提供了 42 个新类和超过 50 万行的代码。Qt3.0 在 2002 年赢得了 SoftwareDevelopment Tools 的“Jolt Productivity Aword(震撼生产力奖)”

20、。2005 年夏,Qt4.0 发布,它大约有 500 个类和 9000 多个函数,Qt4 比以往的任何一个版本都要全面和丰富,并且它已经裂变成多个函数库,从而使开发人员可以根据自己的需要只连接所需要的 Qt 部分。相对于以前的所有 Qt 版本,Qt4 的进步是巨大的,它不仅彻底的对高效易用的模板容器、高级的模型/视图功能、快速而灵活的二维绘图框架和强大的统一字符编码标准的文本查看和编辑类进行了大量改进,就更不必说对那些贯穿整个 Qt 类中的成千上万个小的改良了。现如今,Qt4 具有如此广泛的特性,以至于 Qt 已经超越了作为图形用户界面工具包的界限,逐渐成长为一个成熟的应用程序开发框架。Qt4

21、 也是第一个能够在其所有可支持的平台上既可用于商业开发又可用于开源开发的 Qt 版本。同样在 2005 年,奇趣公司在北京开设了一家办事处,以便为中国及其销售区域内的用户提供服务和培训,并且为 Qt/Embedded Linux 和 Qtopia 提供技术支持。通过获取一些非官方的语言绑定件(Langauge binding),非 C+程序员也已早就开始使用 Qt,特别是用于 Python 程序员的 PyQt 语言绑定件。2007 年,公司发布了用于 C#程序员的非官方语言绑定件 Qyoto。同年,Qt Jambi 投放市场,它是一个官方支持的 Java 版 Qt应用程序编程接口。自奇趣公司(

22、现已被 NOKIA 收购)诞生以来,Qt 的声望经久不衰,而且至今仍然保持高涨。取得这样的成绩不但说明了 Qt 的质量,而且也说明了人们都喜欢使用它。在过去的10 年中,Qt 已经从一个只被少数专业人士所熟悉的“秘密”产品,发展到了如今遍及全世界拥有数以千计的客户和数以万计的开源开发人员的产品。1.31.3 QtQt 套件的组成(以套件的组成(以 Qt4.5Qt4.5 为准)为准)自 4.5 版开始,Qt 首次以 SDK 形式发布了 Qt 套件,并在单独的安装程序中包含了完整的 Qt SDK。Qt SDK 在一个单独安装程序内包含了使用 Qt 进行跨平台开发所需的全部工具,其中包括:1.1.Q

23、tQt CreatorCreator-跨平台跨平台 IDEIDEQt Creator 是全新的跨平台集成开发环境(IDE),专为 Qt 开发人员的需求量身定制。它包括:高级 C+代码编辑器 集成的 GUI 外观和版式设计器-Qt 项目和生成管理工具 集成的上下文相关的帮助系统 图形化调试器(基于 GDB)从这些话语中,我们不难看出 Nokia 全力打造 Qt Creator 的决心,意图将以前单独列出的 Qt Designer、Qt Assistant、Qt Linguist 全部整合到 Qt Creator 中,把它们全部作为 Qt Creator 的一部分,从而奠定 Qt Creator

24、的“官方出品、根正苗红”的地位。关于 Nokia 的战略想法这里暂且不谈,虽然 Nokia 意图如此,但是笔者觉得还是有必要罗嗦两句,向读者朋友介绍一下 Qt SDK 中的几个核心成员:2.2.QtQt 库库 Qt Library是一个拥有超过 400 C+类,同时不断扩展的库。它封装了用于端到端应用程序开发所需要的所有基础结构。优秀的 Qt 应用程序接口包括成熟的对象模型,内容丰富的集合类,图形有户界面编程与布局设计功能,数据库编程,网络,XML,国际化,OpenGL 集成等等。Qt Designer是一个功能强大的 GUI 布局与窗体构造器,能够在所有支持平台上,以本地化的视图外观与认知,

25、快速开发高性能的用户界面。Qt Assistant是一个完全可自定义,重新分配的帮助文件或文档浏览器,又称作 Qt 助手。它的功能类似于 MSDN,支持 html 的子集(图片、超链、文本着色),支持目录结构、关键字索引和全文搜索,可以很方便的查找 Qt 的 API 帮助文档,它是编程人员必备、使用频率最高的工具之一。Qt Demo是 Qt 例子和演示程序的加载器,有了这个工具,用户可以很方便的查看 Qt 提供的多姿多彩的例子程序,从中不仅可以看到程序运行的情况,还可以查看源码和文档。qmake是一个用于生成 Makefile(编译的规则和命令行)的命令行工具。它是 Qt 跨平台编译系统的基础

26、。它的主要特点是可以读取 Qt 本身的配置,为程序生成平台相关的Makefile。uic是一个用来编译 ui 文件的命令行工具,全称是 UI Compiler。它能把.ui 文件转化为编译器可以识别的标准 C+文件,生成的文件是一个.h。这个工具通常情况下不需要用户去手动调用,qmake 会帮你管理.ui 文件和调用 uic 工具。moc是一个 用来生成一些与信号和槽相关的底层代码的预编译工具。全称是 Meta ObjectCompiler,即元对象编译器。该工具处理带有 Q_OBJECT 宏的头文件,生成形如moc_xxx.h,moc_xxx.cpp 的 C+代码,之后再与程序的代码一同编译

27、。同样,这个命令行工具也不需要用户手动调用,qmake 会在适当的时候调用这个工具。rcc是一个 Qt 的资源文件编译工具。Qt 的资源系统是自己一套特别的设计,工程中可以包含后缀为 qrc 的资源文件,由 rcc 工具根据.qrc 文件中的内容将相关的文件编译为二进制,并与源码编译在一起,保存在应用程序的二进制文件中。这个命令行工具同样不需要手动调用,一般由 qmake 调配使用。qtconfig是一个在 X11 系统下用于配置 Qt 环境的工具。它可以设定 Qt 环境的字体、Style、Palette、打印机等。它的设定信息会保存在用户的 home 目录下,所以可以按不同用户的喜好来设定不

28、同的值。3.3.翻译和国际化工具翻译和国际化工具 Qt Linguist是一套用来消除国际化工作流程中所带来障碍的工具,又称作 Qt 语言家。开发小组可把应用程序的翻译转换外包给非技术性翻译人员,从而可增加精确度,大大加快本地化处理过程。lupdate是 Qt 国际化的重要命令行工具之一,它的功能是从源码文件或其他资源文件中提取需要翻译的字符串,并将之用正确的编码和格式存入 ts 文件中。这个 ts 文件是 xml 格式的普通文本文件,但不建议用普通的文本编辑工具来编辑,最好的方法是用 Linguist 来处理这个文件。lrelease是 Qt 国际化的重要命令行工具之一,它负责将 ts 文件

29、转化为程序使用的 qm 文件。转化过程最大的变化是去掉了原始文件中所有的空白和未翻译的内容,并将存储格式压缩,所以 qm 文件是保留所有有效信息但占用硬盘最少的格式。1.41.4 QtQt 的授权的授权Qt 产品的提供是采用双重授权的软件许可模式。在该双重授权模式下,Qt 产品不仅可在获得商业许可下针对专利软件开发,而且还可以在 GPL(通用公共许可证,版本 2 或版本3)下用于开发免费和开源软件。也就是说,Qt 这个软件本身是开源和免费使用的,如果你基于 GPL 协议来开发软件的话,你开发的东西都要以 GPL 协议发布 开源并免费提供源码。自从 Qt4.5 版本发布以后,Qt 通过三种授权方

30、式提供:商业、LGPL 和 GPL,并且仍然符合 Qt 的双重授权战略,表 1-3 示出了 Qt 的授权方式的简要说明,表 1-4 对比了授权方式在具体使用时的不同。表 13 Qt 的授权方式Qt 商业版Qt 商业授权适用于开发专属和/或商业软件。此版本适用于不希望与他人共享源代码,或者遵循 GNU宽通用公共许可证(LGPL)2.1 版或 GNU GPL 3.0 版条款的开发人员。Qt GNU LGPL v.2.1此版本 Qt 适用于开发专属或开源 Qt 应用程序,前提条件是必须遵循 GNU LGPL 2.1 版的条款。Qt GNU GPL v.3.0如果您希望将 Qt 应用程序与受 GNU

31、通用公共许可证(GPL)3.0 版本条款限制的软件一同使用,或者您希望 Qt 应用程序遵循该 GNU 许可证版本的条款,则此版本 Qt 适用于开发此类 Qt 应用程序。表 14 Qt 授权对照表商业版LGPL 授权版GPL 授权版授权收费收取授权费免费免费必须提供更改 Qt 的源代码不需要,更改的代码可以不公布必须提供源代码必须提供源代码可以创建专属应用程序可以,不必公布源代码可以,但必须遵循 LGPL v.2.1 条款不可以,应用程序受 GPL 限制,且源代码必须公开。提供更新是,仅限申请有效维护服务的用户。是,免费发布。是,免费发布。支持提供,条件是维护协议必须有效。不提供,必须单独购买。

32、不提供,必须单独购买。运行时收费是否否按照授权协议的不同,Qt 被按不同的版本发行:Qt 商业版用于商业软件的开发,提供免费升级和技术支持服务。Qt 开源版是 Qt 的非商业版本,是为开发自由和开放源码软件提供的 Unix/X11 版本。在 GNU、GPL 或 LGPL 许可证下,它可以免费下载和使用。此外,Qt 还提供了免费评估版、快照、beta 测试版、预览版等多种版本,其中免费评估版 Qt 适用于 Windows、Mac、Linux、嵌入式 Linux 和 Windows CE 平台,它不但具备全部功能,还带有源代码,Nokia 会在您进行评估期间提供技术支持。而快照、beta 测试版、

33、预览版等版本则得不到 Qt 的支持。1.4.11.4.1 QtQt 开源版和商业版的不同开源版和商业版的不同在网上经常看到有朋友提问,Qt 开源版和商业版到底有那些不同,有没有必要使用商业版等问题,看来还是很有必要向大家介绍一下:1.1.功能不尽相同功能不尽相同两者在源码上基本一致,但开源版缺少一些数据库插件,因为这些插件都是基于特定数据库客户端程序的,很多商业数据库的客户端程序并不是开源的,所以插件就无法开源;也就是说,开源版不支持商业数据库的驱动,一般需要大家自己写驱动或者是采用第三方的驱动。另外,在 Windows 版本上,开源版没有 ActiveQt 这个模块,它可以用来开发Activ

34、eX 程序。2.2.收费不同收费不同开源版不收费,商业版根据版本不同,费用不同,一般一个 developer license 需要大约几千美金。3.3.服务不同服务不同开源版不能享受服务,但可以到一些开放的 maillist 和论坛讨论;商业版有一年的免费技术支持,有问题就直接发给 ,另外商业版中还包括一年的同产品免费下载支持。4.4.协议不同协议不同这个应该是最本质的不同,使用开源版开发需要遵循 GPL 或者 QPL,而使用商业版就没有这个限制,大家可以看看 license agreement,原则上只要不开发和 Qt 竞争的产品就可以了。总而言之,商业版 Qt 授权包括电子邮件(email

35、)支持,可以获得升級,让您能够开发完全闭源的软件。LGPL 对用户重新连接代码库的许可权有一些限制,不能提供商业数据库如 Oracle 等的驱动,以及对 Micorsoft Office 二次开发的支持等,有时还有强加某些机构可能不喜欢的架构要求等其他限制。除此之外,大多数情况下开源版的功能与商业版并无二致。商业版与开源版功能的详细比较如表 15 所示:表 15 开源版与商业版的比较功能模块开源版商业版Qt 的基本模块(工具、核心、窗口部件、对话框)与平台无关的 Qt 图形用户界面工具包和应用类Qt 设计器可视化的 Qt 图形用户界面的生成器图标视图模块几套图形用户交互操作的可视化效果工作区模

36、块多文档界面(MDI)支持OpenGL 三维图形模块在 Qt 中集成了 OpenGL网络模块一些套接字,TCP、FTP 和异步 DNS 查询并且与平台无关的类画布模块为可视化效果,图表和其它而优化的二维图形领域表格模块灵活的可编辑的表格/电子表格XML 模块通过 SAX 接口和 DOM 的很好的且已经成形的 XML 解析器SQL 模块SQL 数据库访问类部分驱动(Sqlite、MySQL)ActiveQt 模块支持 Office 二次开发等的模块x售后服务和支持x 可单独购买服务如果要下载上述版本的 Qt,只需访问网址:http:/ Nokia 接洽。1.51.5 QtQt 的产品的产品 Qt

37、QtQt 是一个完整的 C+应用程序开发框架。它包含一个类库和一系列用于跨平台开发及国际化的工具。Qt API 在所有支持的平台上都是相同的,Qt 工具在这些平台上的使用方式也一致,因而 Qt 应用的开发和部署与平台无关。QtopiaQtopiaQtopia 是一个面向嵌入式 Linux 的全方位应用程序开发平台,同时也是用于基于Linux 的 PDA(个人数字助理),智能电话(Smartphone)以及其他移动设备的用户界面。Qt/EmbeddedQt/EmbeddedQt/Embedded 是一个完整的自包含 GUI 和基于 Linux 的嵌入式平台开发工具。1.61.6 QtQt 的服务

38、与支持的服务与支持1.1.QtQt 标准支持标准支持 1212 个月个月与很多人预想的有所不同,实际上,获得任何 Qt 产品的商业、LGPL 或 GPL 授权的客户都可以获得 Qt 标准支持。这是很有吸引力的一项人性化的市场策略,也让广大用户对Qt 产品增强信心,因为这项举措实际上表明了:Qt 不同版本的产品都具有一致的高品质和优质服务。标准支持主要面向的是应用程序开发人员。Qt 在以下几个方面为客户提供一般性的建议和指导:Qt API、功能、方法和编程技巧,乃至提供示例,还包括:产品使用、安装和技术支持,在线程序缺陷跟踪,产品升级提示等。每个购买了 Qt 商业授权的客户都会获得一年的标准支持

39、和维护服务,并且可以每年在有效期到期前重新申请购买下一年度的支持和维护服务。Qt 标准支持还可通过使用 Qt 开源授权(例如 LGPL)方式作为单独的产品进行购买。举个例子,如果你购买了 Qt 标准支持,那么通常会在 4 个工作日内收到针对你个人的书面解答,答复直接由进行实际操作的技术专家提供,这些专家里甚至可能包括 Qt 软件开发团队中的成员。2.2.QtQt 优先支持优先支持 在一个工作日内回复在一个工作日内回复Qt 优先支持是在标准支持之上的升级,这需要你付出额外的费用,获得的好处是可以在服务有效年限内通过专门的高优先级支持渠道获得 10 次优先支持,Qt 会为您指定专门的支持工程师,他

40、会在一个工作日内为您优先解答困惑和问题,值与不值,你可以自己衡量一下再作出决定。3.3.QtQt 的版本支持的版本支持 x.y.zx.y.z 规则规则Qt 的支持服务仅适用于官方发布的版本,不适用于快照、beta 测试版、预览版和其他不支持的版本,另外前面提到的 Qt 免费评估版则在评估期间可以享受到 Qt Software 的支持。Qt 对产品版本 x.y.z 提供为期 1 年的支持和维护,直到后续版本(x.y+1.0.0.z 或x+1.0.0.y.z,以先发布的为准)发布日的一年后为止。举例来说,Qt 3.3.2 版将在Qt3.4.2 或者是 Qt4.3.2 版发布满 1 年后终止支持和维

41、护,由于 Qt 3.4.2 先于 Qt 4.3.2 发布,因此以 Qt3.4.2 版的发布时间为准,这就是 Qt 版本支持维护的 x.y.z 规则,听起来有些“绕”,但当你登录到 http:/ Qt版本时,你就会明白了。1.71.7 QtQt 的最新进展的最新进展1.7.11.7.1 增加协议增加协议诺基亚宣布,从 Qt 4.5 版本起,其用于桌面和嵌入式平台的 Qt 跨平台用户界面(UI)及应用程序框架将在开源 LGPL 2.1 版授权下提供。此前,Qt 一直是在通用公共授权(GPL)下提供给开源社区的。另外,现已可以通过新的网站名称 来了解 Qt。向 LGPL 的转移将为开源和商业开发人员

42、提供比 GPL 更多的授权许可证,从而为开发人员提高了灵活性。此外,Qt 源代码库將更加开放,鼓励更多來自桌面和嵌入式系统的开发人员社区的贡献。随着这些变化,开发人员将能够积极推动 Qt 框架的演进。Qt 4.5 同时也可在商业授权条款下使用,Qt 之前版本的授权则保持不变,也就是说,比如你要使用 Qt4.4.3 开源版的话,就需要遵守 GPL 而不是 LGPL 协议。而且,Qt 的 服务将扩展,以确保所有 Qt 开发专案,无论选择何种授权,都能获得同等支持。这一举措的效果如何呢,请看下面的来自业界的回应:“Qt 在 LGPL 条款下的使用,让运用基于 Qt 应用程序顶端的 KDE 组件创建应

43、用程序的授权合理化。“KDE e.V.董事会成员 Sebastian Kgler 说,“这一更多权限的授权为 Qt 和 KDE 技术的推广再次降低了门槛。KDE 团队欢迎开放开发进程,并期待以此进一步促进 KDE 和 Qt Software 部门的协作。“结合诺基亚独立于操作系统的应用程序框架 Qt 和飞思卡尔的可实施软件,为 OEM和应用程序开发人员在挑选飞思卡尔芯片时提供了特有的自由度,从而允许开发人员为其应用程序开发和维护单一的代码库。“飞思卡尔解决方案及可实施技术副总 裁 Raja Tabet说,“LGPL 模式是一个出色的和时效性的授权选择,这将加速结合了飞思卡尔和 Qt 的平台的推

44、广与开发。”“Qt 被广泛应用于 Kubuntu 和 KDE 应用程序中,Canonical 很高兴看到其在授权模式上的这一突破,”Ubuntu 项目创始人 Mark Shuttleworth 说,“Qt 新的授权条款将帮助我们为用户提供空前诱人的应用程序。诺基亚对跨平台 Qt 库和 Linux 平台的一贯投入,是免费软件桌面和移动设备堆栈创新的主要动力。”“我们欢迎诺基亚简化 Qt 授权的举措”,Linden 实验室平台与技术开发部副总裁Joe Miller 说,“我们发现 Qt 是耐人寻味且极具创新的技术,无论授权方式如何,这个新的授权方式已经使得我们在追求将 QtWebkit 集成到 S

45、econd Life 时所作的决策变得更为简单。”从中我们可以看出,诺基亚的这一举措是有力的,得到了来自世界各地用户的普遍欢迎。尤为重要的是,它的推出为 Qt 进一步的大规模商业应用扫清了障碍。如果想要了解更多的发布信息,可以访问:http:/ 开放源代码库开放源代码库诺基亚宣布,从 2009 年 5 月起,Qt 源代码库面向公众开放,Qt 开发人员可通过为 Qt以及与 Qt 相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造 Qt 未来的发展。为了便于这些内容的管理,Qt Software 启用了基于 Git 和Gitorious 开源项目的Web 源代码管理系统,网址为:http:

46、/qt.gitorious.org。在推出开放式 Qt 代码库的同时,Qt Software 在 发布了其产品规划(Roadmap)。其中概述了研发项目中的最新功能,展现了现阶段对 Qt未来发展方向的观点,以期鼓励社区提供反馈和贡献代码,共创 Qt 的未来。该消息以及关于贡献模式和产品规划的详细内容现在发布在官方中文网站。想了解更多,请参考以下链接:全部的消息内容:http:/ 确定确定 QtQt 的发展方向的发展方向诺基亚 QtSoftware 首席技术官 Benoit Schillings 称 Qt4.5 为应用程序开发树立了标杆。他还表示:“通过 Qt 性能方面的改进、QtCreator

47、 的诞生和 Qt 软件开发工具包的发布,那些寻找能够将本地内容和 Web 开发完整集成的应用框架的开发人员将如虎添翼,凭增开发活力与灵活表现。”从 Nokia 发布的 Qt Software RodeMap 路线图上,我们可以看到,在最新的 Qt4.5 以及后续版本中,Qt 将在以下方向持续改进:1.1.不断增强不断增强 QtQt 的跨平台能力的跨平台能力主要体现在:支持 Mac OS X Cocoa 框架 增加了对 Windows CE 上 Phonon 和 WebKit 模块的支持 推出 Qt for S60(Tech Preview)增加 Windows 7 支持 推出 32 位/64

48、位版本,更新 Qt 以便适用于 64 位 Mac。2.2.持续提升持续提升 QtQt 的性能的性能主要体现在:提高了图形绘图性能 改进 Web 和混合式开发,支持动态的集成 web 和本地内容3.3.不断完善不断完善 QtQt 工具包工具包主要体现在:推出 Qt Creator 并不断增强其功能 继续提供并改进 Eclipse 和 Visual Studio 插件 研究并准备推出社区和协作工具 支持混合式应用程序开发 构建高效 Build 系统4.4.支持先进的界面开发支持先进的界面开发主要体现在:推出 Qt Kinetic 项目 增加手势触摸功能支持 提供 OpenVG 支持功能 增加 3D

49、 支持工具5.5.展开展开 QtQt 框架发展方向研究框架发展方向研究主要体现在:多媒体服务 混合式应用程序开发 内存和资源管理 XML Schema(模式)支持 Qt 3D 可移植 下一代对象视图看了上面的介绍,广大的 Qt 用户和潜在的使用者一定会极大的增强信心,毫无疑问的是,被 NOKIA 收购后,Qt 将获得更好更快的发展,并且会一如既往的坚持开源与商业的双重授权策略。1.7.41.7.4 QtQt 4.54.5QtQt 发展的重要里程碑发展的重要里程碑Qt4.5 的发布,可以看作是 Qt 发展史上的又一个重要的里程碑。借此,Qt 第一次提出了“Qt EveryWhere”的口号,真正

50、的全速前进走向了大规模的商业应用,开源社区也得到了更加强有力的支持,尤为突出的是 Qt 的性能得到了很大的提升。用一句话来总结,就是Qt 从未充满如此奔放的活力和富有如此强大的号召力。由于 Qt 4.5 版是自 Trolltech 被 NOKIA 收购后,Qt 发布的首个全新版本,因此显得格外引人注目,在国内外掀起了学习的热潮。Qt 4.5 变化较大,在很多方面与以前的 Qt4 系列有所不同,为了使初学者不致于走弯路,下面就对 Qt4.5 的变化给大家做一个详细的介绍。1.1.修改授权方式,增加修改授权方式,增加 LGPLLGPL 协议协议 支持支持QtQt 更开放更开放Qt4.5 增加了对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁