新闻资讯
看你所看,想你所想

qt

qt

qt

Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程式开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和伺服器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的程式语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等外挂程式,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模组,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程式开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。

基本介绍

  • 中文名:Qt
  • 研发时间:1991年
  • 研发公司:Qt Company
  • 作用:跨平台C++图形用户界面应用程式
  • :面向对象的框架

历史发展

* 1991–Haavard Nord和Eirik Chambe-Eng开始开发将会支持X11和Windows的Qt
* 1994–Qt Company成立
* 1996–KDE项目由MatthiasEttrich创建(Matthias现为诺基亚Qt发展框架工作)
* 1998 Apr 05Trolltech的程式设计师在 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 04QPL1.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。
* 2013年7月3日,Digia公司Qt开发团队在其官方部落格上宣布Qt 5.1正式版发布。
* 2013年12月11日,Digia公司Qt开发团队宣布Qt 5.2正式版发布。
* 2014年4月,Digia公司Qt开发团队宣布Qt Creator 3.1.0正式版发布。
*2014年5月20日,Digia公司Qt开发团队宣布Qt 5.3正式版发布。

平台支持

Qt支持下述平台:
MS/Windows - 95、98、NT4.0、ME、2000、XP 、 Vista、Win7、win8、win2008、win10
Unix/X11 -Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它很多X11平台
Macintosh -Mac OS X
Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE、Symbian、Symbian^3、Symbian Anna、Symbian Belle、MeeGo、haiku-os。

Qt Creator

在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的Qt Creator也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程式所需的全部功能。
Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程式,Qt Creator也是一个简单易用且功能强大的IDE。
Qt Creator包含了一套用于创建和测试基于Qt应用程式的高效工具,包括:
一个高级的C++代码编辑器 上下文感知帮助系统 可视化调试器 原始码管理 项目和构建管理工具
Qt Creator在LGPL2.1版本授权下有效,并且接受代码贡献。
Qt Linguist
Qt Linguist被称为Qt语言家。它的主要任务只是读取翻译档案、为翻译人员提供友好的翻译界面,它是用于界面国际化的重要工具。
Linguist工具从4.5开始可以支持Gettext的PO档案格式。

优势

优良的跨平台特性:
Qt支持下列作业系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
面向对象
Qt 的良好封装机制使得 Qt 的模组化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
丰富的 API
Qt 包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
支持 2D/3D 图形渲染,支持 OpenGL
大量的开发文档
XML 支持。

安装

在Debian系列Linux系统下,比如Ubuntu系统下
sudo apt-get install qt4-dev-tools #开发包
QtQt
sudo apt-get install qtcreator #IDE
sudo apt-get install qt4-doc #开发帮助文档
sudo apt-get install qt4-qtconfig #配置工具
sudo apt-get install qt4-demos #DEMO源码
或者直接从Qt官方网站下载.run格式的安装包,Windows下直接双击安装,Linux下进入安装包所在目录后用 ./ 安装。

应用程式

一些着名的例子如下:
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:高级分子编辑器
Battle.net暴雪公司开发的游戏对战平台
BOUML,一个免费的统一建模语言工具箱
Bitcoin:比特币
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:神经网路模拟器。
, 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 Office:金山软体公司推出的办公软体
极品飞车:EA公司出品的着名赛车类游戏

发行版本

Qt 是一个跨平台的 C++图形用户界面库,由挪威 TrollTech 公司于1995年底出品。
Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程式设计师 就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出。
2008年1月31日,Nokia公司宣布通过公开竞购的方式收购TrollTech公司,旗下包括Qt在内的技术都归入Nokia旗下。并且Nokia针对自己的移动设备平台规划的需要,将Qt按不同的版本发行。
Qt商业版:提供给商业软体开发。它们提供传统商业软体发行版并且提供在协定有效期内的免费升级和技术支持服务。
Qt开源版:提供了和商业版本同样的功能。它是免费的,使用开源版需要了解其採用的各种开源协定。
例如使用开源版QT需要注意的是,QT开源版的LGPL开源协定:
LGPL允许商业软体通过类库引用(link)方式使用LGPL类库而不需要开源商业软体的代码。这使得採用LGPL协定的开原始码可以被商业软体作为类库引用并发布和销售。
即: 使用 採用LGPL开源协定的开源版QT,也可以用来开发商业、闭源软体。
2009年3月发布的Qt 4.5 起,诺基亚为Qt增添开源LGPL授权选择。
2009年5月11日起,诺基亚Qt Software 宣布Qt原始码库面向公众开放,Qt 开发人员可通过为 Qt 以及与 Qt 相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造 Qt未来的发展。为了便于这些内容的管理,Qt Software 启用了基于Git 和 Gitorious 开源项目的Web 原始码管理系统 。
Qt专业版和企业版是Qt的商业版本。
如果你购买了这些商业版本,你也可以获得技术支持和升级服务。
专业版/企业版比较表
专业版
企业版
Qt的基本模组(工具、核心、视窗部件、对话框)
与平台无关的Qt图形用户界面工具包和套用类
X
X
Qt设计器
可视化的Qt图形用户界面的生成器
X
X
图示视图模组
几套图形用户互动操作的可视化效果。
X
X
工作区模组
多文档界面(MDI)支持
X
X
OpenGL 三维图形模组
在Qt中集成了OpenGL
X
网路模组
一些套接字,TCP、FTP和异步DNS查询并且与平台无关的类。
X
画布模组
为可视化效果,图表和其它而最佳化的二维图形领域。
X
表格模组
灵活的可编辑的表格/电子表格
X
XML模组
通过SAX接口和DOM Level 1很好且已经成形的XML解析器。
X
SQL模组
SQL资料库访问类。
X

版本

2009年12月1日,诺基亚发布了Qt 4.6。
Qt 4.6 首次包含了对Symbian平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹) 和即将上市的Maemo 6。此外还为实时作业系统QNX 和 VxWorks提供了网路社区支持。对Maemo 5 的支持已进入研发阶段,其技术预览版第二版于2009年12月1日发布。
Qt 对 X11 、X86 、ARM 及 Symbian 的支持首次为开发人员创造了使用同一代码库同时针对这多个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程式上市的速度将更快,影响的设备用户群将更广。
Qt Mobility项目下的全新Qt API技术预览版也同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息传送和接收、联繫人和网路连线管理等。
性能提升主要包括:一个经过高度最佳化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。
2013年7月3日,Qt 5.1 正式版发布了,这是 Qt 5.0 发布后经过 6 个月的开发而测试的新版本。主要是修复 5.0 中的 bug,但该版本还包含了很多新特性和一些小改进,详细内容请看 Qt 5.1 launch page。
Qt 5.1 绑定了 Qt Creator 2.7.2,可通过一个新的线上安装器来安装,可自动的无缝的更新,同时也提供了一个新版本的 Visual Studio 外挂程式。
此外 Qt 5.1 还增加了很多新模组,大大扩展了 Qt 5.0 的功能。此外 5.1 版本还大大加强对不同平台的支持,包括Visual Studio 2012,以及对移动平台的支持。提供了 Qt for Android 和 iOS 的预览版。2011年02月22日,Qt for Android(Alpha) 发布。Qt for IOS发布时间大约是2013年年底。
2014年4月,在Qt Creator 3.1 Beta面世一个多月之后,终于迎来了其正式版。全新的Qt Creator 3.1.0主要包括Bug修复与系统改进,同时,还添加了一些新的功能特性。
集成基于Clang的C/C++代码模组,完全支持iOS、QML调试和性能分析,新增WinRT外挂程式,废弃了对于没有Python接口的GDB版本的调试支持,新增Beautifier外挂程式,Android支持调整。
更多关于 5.1 版本的介绍请看发行说明。

转载请注明出处海之美文 » qt

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com