Qt简介 Qt是Trolltech(奇趣)公司的标志性产品,是一个跨平台的、开源的、面向对象的
C++图形应用程序工具包和UI框架。Trolltech于2008年被Nokia收购,2012年又被转卖给Digia
• 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公司目前开发两种产品:
跨平台的图形
界面设计平台(Qt)
嵌入式系统的应用程序开发平台(Qt/Embedded)
历史发展 * 1996 Oct
KDE组织成立
* 1998 Apr 05
Trolltech的程序员在 5 天之内将 Netscape5.0 从
Motif移植到 Qt 上
* 1998 Apr 08 KDE Free Qt 基金会成立
* 1998 Jul 09 Qt 1.40 发布
* 1998 Jul 12 KDE 1.0 发布
* 1999 Mar 04
QPL1.0 发布
* 1999 Mar 12 Qt 1.44 发布
* 1999 Jun 25 Qt 2.0 发布
* 1999 Sep 13 KDE 1.1.2 发布
* 2000 Mar 20
嵌入式Qt 发布
* 2000 Sep 06 Qt 2.2 发布
* 2000 Oct 05 Qt 2.2.1 发布
* 2000 Oct 30 Qt/Embedded 开始使用
GPL宣言
* 2000 Sep 04 Qt free edition 开始使用 GPL
* 2008 Nokia从
Trolltech公司收购Qt, 并增加LGPL的授权模式
* 2011 Digia从Nokia收购了Qt的
商业版权,从此Nokia负责Qt on Mobile, Qt Commercial由Digia负责
*根据最新消息,NOKIA已经停止Meltemi系统开发,QT部门被解散
* 2012 Aug 09 作为非核心资产剥离计划的一部分,
诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia
* 2012 Dec 19 Digia正式发布Qt 5.0, Qt 5的主要优势包括:图形质量;中低端硬件上的高性能;跨平台移植性;支持C + + 11; QtWebKit 2 支持的HTML5;大幅改进QML引擎并加入新的API; 易用性并与Qt 4版本兼容。
Qt的特征 面向对象
Qt具有模块设计和注重软件构件或元素的可重用性的特点
•
构件支持
Qt提供信号(signal)和插槽(slot)概念,并支持对象之间在彼此不知道对方信息的情况下进行合作,这使得Qt非常适合于真正的构
件编程
•
友好的联机帮助Qt提供了大量的联机参考文档,有超文本HTML方式,也有Unix帮助页man手册页和补充说明。对于初学者,其中的指南将一步步介绍
如何进行Qt编程
•
便利性由于Qt是一种跨平台的GUI工具包,它对编程者隐藏了在处理不同
窗口系统时潜在的
问题,Qt定义了一些类来隐藏在不同操作系统上不
同处理方式下的细节问题
•
国际化Qt为本地化应用提供了完全的支持,所有用户界面文本都可以基于消息翻译表被翻译成各国语言,Qt还支持双字节16bit国际字符标准
•
丰富的API函数
Qt为专业应用提供了大量的函数,在Qt的API中含有大约250个C++类,大多数的类都是GUI专有的
•
可用户化外观
Qt支持主题,基于Qt的应用程序能够在Windows外观、Motif外观,以及其它一些用户化外观主题之间切换
•
完整的一套组件工具Qt编程的基本模块称之为组件,组件是用户界面的组成部分,Qt含有用来创建专业外观的用户界面所需要的所有组件•
针对多个平台只编写一次代码
使用Qt只需编写一次应用程序和UI,无须重新编写源代码,便可跨不同的桌面和嵌入式操作系统进行部署,既节省了时间又降低开发成本。
• 独特的开发方式
Qt提供了应用程序生成块,包括庞大的可定制
widget集合、图形画布、风格引擎和其他内容,开发者可用来生成新颖的用户界面。
• 易学易用的模块化的类库
由于有了Qt模块化的类库,开发者可以更多地关注创新,无须在平台本身编码花费过多时间,这样就可将软件快速推向市场。
• 在单一应用程序中可混合网络和本地代码
Qt集成了WebKit网络渲染引擎,开发者可以快速地将网络内容和服务集成到本地应用程序中,比如使用HTML、XHTML、SVG、CSS和JavaScript
基于QT开发的软件 3DSlicer, a free open source software for visualization and medical image computing
AcetoneISO:镜像文件挂载软件
Adobe Photoshop Album,一个图像组织应用程序 [35]
Arora:一款跨平台的开源网页浏览器
Autodesk MotionBuilder, 三维角色动画软件
Autodesk Maya, 3D建模和动画软件
Avidemux, a Free Software program designed for multi-purpose video editing and processing
Avogadro:高级分子编辑器
BOUML,一个免费的统一建模语言工具箱
chmcreator:开源的chm开发工具
CineFX:一款跨平台、开源、免费、影片剪辑,特效与合成套装
CoCoA, a software for computations in commutative algebra
Dash Express, an Internet-enabled personal navigation device
DAZ Studio, a 3D figure illustration/animation application
Doxygen:API文件产生器
EAGLE, tool for designing printed circuit boards(PCBs)
EiskaltDC++, a program that uses the Direct Connect protocol.
Emergent:神经网络模拟器。
[1], a software product for the simulation of electromagnetic fields
eva:Linux版QQ聊天软件。
FreeCAD, a free and open source 3D-Solid and general purpose design CAD/CAE
FreeMat:一个自由开源的数值计算环境和编程语言
Full Tilt Poker, one of the most popular online poker programs
Gadu-Gadu:实时通信软件
Gambas, A free development environment based on a Basic interpreter
GoldenDict:一款开源的字典软件
Google地球(Google Earth):三维虚拟地图软件。
GNS:Cisco网络模拟器。
Guitar Pro 6, a tablature editor
刺猬大作战:一个基于百战天虫的开源游戏。
Hydrogen, an advanced drum machine
ImageVis3D, a volume ray-casting application
Ipe:自由的矢量图形编辑器
ISE Webpack, a freeware EDA tool for Windows and Linux developed by Xilinx
Kadu, a Polish instant messenger using the Gadu-Gadu protocol
KDELibs:一个许多KDE程序都使用的共享库,如Amarok、K3b、KDevelop、KOffice等。
KeePassX, a multi-platform port of KeePass, an open source password manager for Microsoft Windows
Launchy:一个开放源代码的快捷启动器
LMMS:一个开放源代码的音乐编辑软件
LyX:使用Qt作为界面的LaTeX软件。
Mathematica:Linux和Windows版本使用Qt作为GUI
Maxwell Render,a software package that aids in the production of photorealistic images from computer 3D model data
Mixxx:跨平台的开放源代码DJ混音软件
MuseScore,一个WYSIWYG的乐谱编辑器
MythTV:开源的数字视频录制软件。
Nuke, a node-based compositor
PDFedit:自由的PDF编辑器
PokerTH, an open source Texas hold 'em simulator
Psi:一款XMPP网络协定的实时通信软件
qBittorrent:自由的BitTorrent P2P客户端
QCad:一个用于二维设计及绘图的CAD软件
Qjackctl, a tool for controlling the JACK Audio Connection Kit
QSvn, a GUI Subversion client for Linux, UNIX, Mac OS X and Windows
Opera:著名的网页浏览器。
Qt Creator, the free software cross-platform integrated development environment from Nokia
Qterm:跨平台的BBS软件。
Quantum GIS:自由的桌面GIS
Quassel IRC:跨平台的IRC客户端
RealFlow, a fluid and dynamics simulator for the 3D industry
Recoll:桌面搜索工具
Rosegarden, a free software digital audio workstation program
SciDAVis, a cross-platform plotting and data analysis program
Scribus:桌面排版软件。
Skype:一个使用人数众多的基于P2P的VOIP聊天软件。
SMPlayer:跨平台多媒体播放器
Spotify, music streaming service.
Stellarium:一款天文学的自由软件
TeamSpeak:跨平台的音效通信软件
Texmaker:一款跨平台的开放源代码LaTeX编辑器
TeXworks, It is a graphical user interface to the typesetting system TeX.
TOra, a database administration tool[36]
UniversalIndentGUI,an application which helps the user to beautify, reformat or indent various kinds of code.
Valknut,a program that uses the Direct Connect protocol
VirtualBox:虚拟机软件。
VisIt:一个开源型交互式并行可视化与图形分析工具,用于查看科学
数据。
VisTrails, a scientific workflow management and visualization system
VLC多媒体播放器:一个体积小巧、功能强大的开源媒体播放器。
VoxOx, a unified communications software.
WordPress, based on Qt for Maemo and Symbian
wpa supplicant, a free software implementation of an IEEE 802.11i
Xconfig:Linux的Kernel配置工具
咪咕音乐:咪咕音乐是中国移动倾力打造的正版音乐播放器
wps极品飞车豆瓣播放器 • 社区
Digia通过开源授权(LGPL和GPL)以及商业授权的方式对Qt进行授权,这
样开源项目就可以使用Qt进行开发。
• Developer的亲自参与
由于采用公开方式开发Qt,Qt产品规划和源代码库现都已面向公众开放,这
样开发者就可以通过为Qt和Qt相关的项目提供代码、翻译、示例和其他方式的
贡献。• Windows下开发环境的搭建
安装Qt SDK(Qt_SDK_Win_offline_v1_1_3_en.exe)即可,它是一
个完整的Qt开发环境,包括特定版本的Qt库和集成开发环境-Qt
Creator IDE。
下载地址,个人珍藏
http://pan.baidu.com/share/link?shareid=418883&uk=4096686946