qt

qt

應用程序開發框架
Qt是一個1991年由Qt Company開發的跨平台C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用于開發非GUI程序,比如控制台工具和服務器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴展,并且允許真正地組件編程。[1]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年
  • 作用:跨平台C++圖形用戶界面應用程序

曆史發展

* 1991年,Haavard Nord和Eirik Chambe-Eng開始開發将會支持X11和Windows的Qt

* 1994年,Qt Company成立

* 1996年,KDE項目由MatthiasEttrich創建(Matthias現為諾基亞Qt發展框架工作)

* 1998年4月5日,Trolltech的程序員在 5 天之内将 Netscape5.0 從Motif移植到 Qt 上

* 1998年4月8日,KDE Free Qt 基金會成立

* 1998年7月9日,Qt 1.40 發布

* 1998年7月12日,KDE 1.0 發布

* 1999年3月4日,QPL1.0 發布

* 1999年3月12日,Qt 1.44 發布

* 1999年6月25日,Qt 2.0 發布

* 1999年9月13日,KDE 1.1.2 發布

* 2000年3月20日,嵌入式Qt 發布

* 2000年9月6日,Qt 2.2 發布

* 2000年10月5日,Qt 2.2.1 發布

* 2000年10月30日,Qt/Embedded 開始使用GPL宣言

* 2000年9月4日,Qt free edition 開始使用 GPL

* 2008年,Nokia從Trolltech公司收購Qt,并增加LGPL的授權模式

* 2011年,Digia從Nokia收購了Qt的商業版權,從此Nokia負責Qt on Mobile,,Qt Commercial由Digia負責

* 根據最新消息,NOKIA已經停止Meltemi系統開發,Qt部門被解散

* 2012年8月9日,作為非核心資産剝離計劃的一部分,諾基亞宣布将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正式版發布。

* 2019年,Qt團隊宣布最新版5.13版本發布。

平台支持

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 #開發包

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下進入安裝包所在目錄後用 ./ 安裝。

使用Qt的應用程序

一些著名的例子如下:

3DSlicer, a free open source software for visualization and medical image computing

AcetoneISO:鏡像文件挂載軟件

Adobe Photoshop Album,一個圖像組織應用程序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 toolUniversalIndentGUI,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 版本的介紹請看發行說明。

2019年7月,Qt 5.13版本發布,Qt Creator beta版也更新到了 4.10.0。

相關詞條

相關搜索

其它詞條