Qt簡介

1、Qt Qt Creator 簡介





       Qt 是一個跨平臺應用程序和 UI  開發框架。使用 Qt  您只需一次性開發應用程序,無須從新編寫源代碼,即可跨不一樣桌面和嵌入式操做系統部署這些應用程序。
       Qt Creator  是全新的跨平臺Qt IDE ,可單獨使用,也可與 Qt  庫和開發工具組成  一套完整的SDK.  其中包括:高級 C++  代碼編輯器,項目和生成管理工具,集成的上下文相關的幫助系統,圖形化調試器,代碼管理和瀏覽工具。

 

2、Qt 功能與特性



  • 直觀的 C++ 類庫:模塊化 Qt C++ 類庫提供一套豐富的應用程序生成塊 (block),包含了構建高級跨平臺應用程序所需的所有功能。具備直觀,易學、易用,生成好理解、易維護的代碼等特色。
  • 跨桌面和嵌入式操做系統的移植性:使用 Qt,您只需一次性開發應用程序,就可跨不一樣桌面和嵌入式操做系統進行部署,而無須從新編寫源代碼,能夠說Qt無處不在(QtEverywhere) 。
  • 使用單一的源代碼庫定位多個操做系統;
  • 經過從新利用代碼可將代碼跨設備進行部署;
  • 無須考慮平臺,可從新分配開發資源;
  • 代碼不受擔心平臺更改影響的長遠考慮 ;
  • 使開發人員專一於構建軟件的核心價值,而不是維護 API 。
  • 具備跨平臺 IDE 的集成開發工具:Qt Creator 是專爲知足 Qt 開發人員需求而量身定製的跨平臺集成開發環境 (IDE)。Qt Creator 可在 Windows、Linux/X11 和 Mac OS X 桌面操做系統上運行,供開發人員針對多個桌面和移動設備平臺建立應用程序。
  • 在嵌入式系統上的高運行時間性能,佔用資源少。

 

3、Qt Creator 功能和特性



  • 複雜代碼編輯器:Qt Creator 的高級代碼編輯器支持編輯 C++ 和 QML (JavaScript)、上下文相關幫助、代碼完成功能、本機代碼轉化及其餘功能。
  • 版本控制:Qt Creator 聚集了最流行的版本控制系統,包括 Git、Subversion、Perforce、CVS 和 Mercurial。
  • 集成用戶界面設計器:Qt Creator 提供了兩個集成的可視化編輯器:用於經過 Qt widget 生成用戶界面的 Qt Designer,以及用於經過 QML 語言開發動態用戶界面的 Qt Quick Designer*。
  • 項目和編譯管理 :不管是導入現有項目仍是建立一個全新項目,Qt Creator 都能生成全部必要的文件。包括對 cross-qmake 和 Cmake 的支持。
  • 桌面和移動平臺:Qt Creator 支持在桌面系統和移動設備中編譯和運行 Qt 應用程序。經過編譯設置您能夠在目標平臺之間快速切換。
  • Qt 模擬器:Qt模擬器是諾基亞 Qt SDK的一部分,可在與目標移動設備類似的環境中對移動設備的 Qt 應用程序進行測試。
 
4、Qt 的歷史
  • 1996年Qt 上市
  • Qt 已成爲數以萬計商業和開源應用程序的基礎
  • Qt 的軟件受權機制具備經受市場檢驗的雙重受權(開源與商業)模式
  • Qt Software 的前身爲 Trolltech(奇趣科技)。 Trolltech (奇趣科技)始創於1994年
  • Trolltech (奇趣科技)於2008年6月被 Nokia 收購,加速了其跨平臺開發戰略
  • 2012年8月芬蘭IT業務供應商Digia全面收購諾基亞Qt業務及其技術

 

5、Qt 所支持的平臺
 

 

1.        嵌入式 Linux (Embedded Linux)
Qt for Embedded Linux®  是用於嵌入式 Linux  所支持設備的領先應用程序架構。您可使用 Qt  建立具備獨特用戶體驗的具有高效內存效率的設備和應用程序。Qt  能夠在任何支持 Linux  的平臺上運行。Qt  的直觀 API ,讓您只須少數幾行代碼即可以更短的時間實現更高端的功能。
特色:1.  用於Linux  的緊湊的視窗系統;2.  用於普遍的應用程序處理器的開發;3.  移植桌面代碼至嵌入式平臺,或經過從新編譯,反之亦然;4.  編譯移除不常使用的組件與功能;5.  利用系統資源並實現本地化性能;6.  開發嵌入式設備猶如開發桌面系統同樣輕鬆簡單。
Qt  除了提供全部   工具   以及  API    類庫   ,(   WebKit    外, Qt for Embedded Linux  還提供用於最優化嵌入式開發環境的主要組件。
  • 緊湊高效的視窗系統 (QWS):Qt 構建在標準的 API 上,應用於嵌入式 Linux 設備,並帶有本身的緊湊視窗系統。基於 Qt 的應用程序直接寫入Linux 幀緩衝,解除了您對 X11 視窗系統的需求。具備減小內存消耗,佔位更小,可利用硬件加速圖形的優點,可編譯移除不常使用的組件與功能等特色。
  • 虛擬幀緩衝 (QVFb):Qt for Embedded Linux 提供一個虛擬幀緩衝器,能夠採用點對點逐像素匹配物理設備顯示。具備真實的測試構架,在桌面系統上嵌入式測試,模擬物理設備顯示的寬度、高度與色深等特色。
  • 進程間通信 (IPC) :IPC (進程間通信)能夠建立豐富的多應用程序用戶體驗。定義進程間通信的兩個主要概念即:信道與消息。能夠進程**並向信道發送消息,任什麼時候候只要**到一個進程即可建立信道。
  • 擴展的字體格式:Qt 支持嵌入式 Linux 上的多種字體格式,包括:TrueType®, Postscript®Type1 與 Qt 預呈現字體。Qt 擴展了Unicode 支持,包括:構建時自動數據抽取和運行時自動更新。另外Qt還提供定製字體格式的插件,容許在運行時輕鬆添加新字體引擎。應用程序間的字體共享功能能夠提升內存效率。
基本要求:
  • 開發環境:Linux  內核 2.4 或更高;GCC 版本 3.3 或更高;用於 MIPS® GCC 版本 3.4. 或更高。
  • 佔用存儲空間:存儲空間取決於配置,壓縮後: 1.7 - 4.1 MB,未壓縮: 3.6 - 9.0 MB 。
  • 硬件平臺:易於載入任何支持帶 C++ 編譯器和幀緩衝器驅動Linux 的處理器。支持 ARM®,x86®, MIPS®, PowerPC® 。
2.        Mac 平臺
Qt  包括一套集成的開發工具,可加快在 Mac  平臺上的開發。在編寫 Qt  時,並不須要去設想底層處理器的數字表示法、字節序或架構。要在 Apple 平臺上支持 Intel  硬件,Qt  客戶只需從新編輯其應用程序便可。
3.        Windows平臺
使用 Qt ,只需一次性構建應用程序,無須從新編寫源代碼,即可跨多個 Windows 操做系統的版本進行部署。Qt 應用程序支持WindowsVista Server 2003 XP NT4 Me/98   Windows CE
4.        Linux/X11平臺
Qt  包括一套集成的開發工具,可加快在 X11  平臺上的開發。Qt  因爲是  KDE  桌面環境的基礎,在各個 Linux  社區人盡皆知。幾乎 KDE  中的全部功能都是基於 Qt  開發的,  並且 Qt  是全球社區成員用來開發  成千上萬的開源 KDE  應用程序的基礎。
5.        Windows CE/Mobile
Qt  是用 C++  開發的應用程序和用戶界面框架。經過直觀的 API ,您可使用 Qt  爲大量的設備編寫功能豐富的高性能應用程序。Qt  包括一套豐富的工具集與直觀的API ,意味着只須少數幾行代碼即可以更短的時間實現更高端的功能。
主要特色:1. 硬件依存性極小;2. 支持多數現有的 Windows CE  配置;3.  對於自定義的硬件配置亦輕鬆構建;4.  移植桌面代碼至嵌入式平臺,或經過從新編譯,反之亦然;5.  編譯移除不常使用的組件與功能;6.  利用系統資源並實現高性能;7. 開發嵌入式設備尤如開發桌面系統同樣輕鬆簡單。
Qt  除了提供全部   工具   以及  API    類庫   外, Qtfor Windows CE  還提供用於最優化嵌入式開發環境的附加功能。
  • 本地化和可定製的外觀:Qt 在使用時,能夠支持 Windows Mobile 和 Windows CE 兩種樣式。 在運行時,Qt 應用程序將檢測使用哪種樣式。 採用 Qt 樣式表單,您只須要花費用於傳統 UI 風格的少量時間和代碼行,即可以輕鬆定製您的應用程序外觀。特色:基於HTML 層疊式樣式表 (CSS);適用於所有 widget;任何熟悉 CSS 技術的人員均可以定義複雜的樣式。
  • 先進的文本佈局引擎:Qt for Windows CE 支持 TrueType® 和點陣字體。同時 Qt 還支持擴展的 Unicode 和從右至左的書寫語言。Qt 的富文本引擎增長了新的功能用於複雜的文本佈局,包括製表和路徑追蹤,以及環繞圖形的文本。
基本要求:
  • 開發環境: Microsoft® Visual Studio® 2005 (Standard Edition) 或更高ActivePerl  。
  • 佔用存儲空間:緊湊配置 - 4.8 MB,全配置 - 8.4 MB。
  • 操做系統:Windows CE 5 或更高,Windows Mobile 5 或更高。
  • 硬件平臺:支持 ARM®, x86®,(在 SH4® 和 MIPS® 上編譯) 。
6.        塞班平臺(Symbian)
Qt  經過和S60  框架的集成爲 Symbian 平臺提供了支持。在最新版的QtSDK 1.1 中咱們能夠直接生成能夠在塞班設備上運行的sis 文件。
7.        MeeGo平臺 (Maemo 6 現改名爲 MeeGo)
Qt  是一個功能全面的應用程序和用戶界面框架,用來開發Maemo  應用程序,也可跨各主要設備和桌面操做系統部署這些程序且無需從新編寫源代碼的。  若是您在多數狀況下開發適用於Symbian Maemo   MeeGo  平臺的應用程序,可使用免費 LGPL  受權方式的 Qt
       Qt 將爲諾基亞設備運行MeeGo (Harmattan)  提供依託,並可爲全部即將推出的 MeeGo  設備中的應用程序開發提供 API ,爲Qt  開發人員提供了更多平臺。不久,MeeGo  設備就會徹底支持 (X11) Qt 

 

6、Qt 類庫
模塊化  Qt C++  類庫提供一套豐富的應用程序生成塊 (block) ,包含了生成高級跨平臺應用程序所需的所有功能。
 

1. 先進的圖形用戶界面(GUI ):Qt 爲您在桌面與嵌入式平臺上開發先進的GUI 應用程序,帶來全部須要的功能。Qt 使用所支持平臺的本地化圖形API ,充分利用系統資源並給予應用程序本地化的界面。
  • 從按鈕和對話框到樹形視圖與表格都具備完整的控件(窗體)
  • 自動縮放,字體、語言與屏幕定位識別佈局引擎
  • 支持抗鋸齒、矢量變形以及可縮放矢量圖形 (SVG)
  • 具備樣式API和窗體樣式表,可徹底自定義用戶界面
  • 支持嵌入式設備的硬件加速圖形和多重顯示功能
2. 基於OpenGL ® OpenGL ®Es 3D 圖形:OpenGL®  是一個標準的圖形庫,用於構建跨平臺和支持硬件加速的高性能可視化應用程序。雖然OpenGL 完美支持3D 圖形,但卻不支持建立應用程序用戶界面。Qt 經過與OpenGL  的緊密集成解決了這一難題。
  • 在您的應用程序中輕鬆加入3D圖形
  • 在嵌入式Linux 與Windows CE 平臺上使用OpenGL ES和OpenGL繪畫引擎
  • 利用系統資源實現最佳圖形性能
  • 支持Windows 平臺上的Direct3D®
3. 多線程: 多線程編程是一個執行資源密集型操做而不會凍結應用程序用戶界面的有效典範。Qt 的跨平臺多線程功能簡化了並行編程,另外它附加的同步功能能夠更加輕鬆地利用多核架構。
  • 管理線程、數據和對象更加輕鬆
  • 基於Qt的信號與槽,實現跨線程類型安全的對象間通信
  • 高端API能夠編譯多線程程序而無須使用底端基元
4. 嵌入式設備的緊湊視窗系統:Qt 構建在標準的 API 基礎上,用於具備輕量級window 系統的嵌入式 Linux  設備。基於 Qt 的應用程序直接寫入 Linux  幀緩衝,解除了您對 X11  視窗系統的需求。
  • 減小內存消耗,內存佔用更小
  • 能夠編譯移除不常使用的組件與功能
  • 能夠利用硬件加速圖形
  • 在桌面系統上的虛擬幀緩衝可用於嵌入式開發與調試
5. 對象間通信: 在開發用戶圖形界面中,一個常見的、重複發生系統崩潰與問題的癥結根源是如何在不一樣組件之間進行通訊。對於該問題,Qt  的解決方案是信號與槽機制,即執行Observer 設計模式。咱們能夠簡單理解爲當特殊事件發生的時候,信號就被髮出了,一個插槽就是一個函數,被稱做特定信號的響應。
  • 信號與槽機制是類型安全的(type safe)
  • 任意信號均可以鏈接任意或多個插槽,或跨多個線程
  • 簡化真正的組件編程
6.2D 圖形:Qt 給您提供一個功能強大的2D 圖形畫布,用以管理和集成大量的圖形元素。
高精度可視化大量元素
  • 將窗體互動嵌入至圖形場景中
  • 支持縮放、旋轉、動畫與**變換
7. 多媒體框架:Qt 使用 Phonon 多媒體框架爲衆多的多媒體格式提供跨桌面與嵌入式操做系統的回放功能。Phonon 能夠輕鬆將音頻與視頻回放功能加入到Qt 應用程序當中,而且在每一個目標平臺上提取多媒體格式與框架。
  • 以平**立的方式提供多媒體內容
  • 從本地文件讀取媒體或讀取網絡上的流媒體
  • 提取Mac上的 QuickTime® ,Windows 上的DirectShow® 以及 Linux 上的Gstreamer
8.WebKit 集成:Qt WebKit 集成,即Qt 集成了WebKit 功能,WebKit KDE 項目下基於 KHTML 的開放源web 瀏覽器引擎。目前Apple® Google™  Nokia 等公司使用Qt WebKit 集成。
  • 將web與本地內容和服務整合在單一的富應用程序當中
  • 快速建立整合實時web內容與服務的應用程序
  • 使用集成在本地代碼中的 HTML 與Java Script
  • 徹底控制跨平臺的瀏覽器環境
9. 網絡鏈接:Qt  讓您網絡編程更簡單,並支持跨平臺網絡編程。
  • 完整的客戶/服務器插口提取
  • 支持 HTTP,FTP,DNS 與異步 HTTP 1.1
  • 不管HTML 和XML或圖象與媒體文件,它均可以存取全部類型的數據
10. XML Qt  XML  文件以及SAX   DOM  協議的C++ 實現,提供了一個流媒體文件讀寫器。同時 Qt  還包含了 XQuery –  一個簡單的相似 SQL 的查詢語言,用於解析XML 文件來選擇和聚合所須要的XML 元素,而且將它們轉換成XML 輸出或其它格式的輸出。
  • 僅需少數幾行代碼即可實現先進的 XML 查詢
  • 徹底支持 XQuery 1.0 和 XPath 2.0
  • 在您本身的應用程序中從XML查詢、抽取和轉換數據
11. 腳本引擎:Qt  包含一個徹底集成 ECMA  標準的腳本引擎。 QtScript  提供 QObject  集成,把 Qt 的信號與槽機制整合成腳本,而且實現了C++  與腳本的集成。
  • 基於ECMA 標準的腳本語言(ECMAScript 3是JavaScript1.5的基礎)
  • 爲簡化的對象間通信使用Qt的信號與槽機制
  • 開創新的契機將腳本與您的Qt應用程序相集成
12. 數據庫:Qt  幫助您將數據庫與您的Qt 應用程序無縫集成。Qt 支持全部主要的數據驅動,並可以讓您將SQL 發送到數據庫服務器,或者讓 Qt SQL 類自動生成 SQL  查詢。
  • 支持全部主要的數據庫驅動
  • 以多種視圖或數據識別表單方式顯示數據

 

7、Qt Quick 介紹
Qt Quick 是在 Qt4.7 中被引進的一項技術。 Qt Quick  是一種高級用戶界面技術,開發人員和設計人員可用它協同建立動畫觸摸式用戶界面和應用程序。它由三部分構成: 1.QML :像  JavaScript  同樣的聲明式語言; 2. Qt Creator :在  Qt IDE 中的直觀工具; 3. Qt Declarative :強大的  C++  模塊。
 
1. 主要組成:
  • QML:基於 JavaScript 的直觀語言  :QML 是一種簡便易用的語言,開發人員與用戶界面設計人員無需任何 C++ 知識,便可用其描繪出用戶界面的外觀和功能。
  • 面向開發人員和設計人員的共享工具:Qt Creator IDE2.1 版將集成一套開發人員與用戶界面設計人員可共享,用以建立和實施 Qt Quick 項目的通用工具。
  • 經過 C++ 推進 QML 應用程序:在 Qt 庫中的全新Declarative 模塊支持生成動態可定製的用戶界面,以及經過 C++ 拓展 QML 應用程序。
2. 功能特色:
  • 快速開發動畫式流暢多變的用戶界面:經過直觀的 QML 語言和一套豐富的 QMLElements——UI 和行爲生成塊——您能夠快速建立出使人印象深入的用戶界面,比您想象的還要快。
  • 無需 C++ 知識:若是您具備 JavaScript 的經驗或掌握基本的網絡技術 (如 HTML 和 CSS),您就能夠經過 QML 取得很是不錯的成果。
  • 瞄準數以百萬計的觸摸屏設備:使用 Qt Quick,您能夠爲數以百萬計的 Symbian 和 MeeGo 設備生成應用程序,或爲各類類型的觸摸屏消費類電子設備建立用戶界面。
3. 應用領域:
  • 汽車信息娛樂系統 UI:Cybercom Group 的用戶界面設計人員與開發人員嘗試使用 Qt Quick 爲其汽車信息娛樂平臺設計 UI——並取得了使人滿意的結果。
  • 社交媒體電視:mixd.tv 使用 Qt Quick 爲其跨平臺網絡電視應用程序建立 UI,其用戶能夠經過社交媒體頻道訪問和共享在線視頻的內容。
  • 聯網汽車:Qt 的認證合做夥伴 Digia 很快學會了 Qt Quick 並用其建立出了包括導航、電話、遊戲和音樂功能的高級汽車 UI。

 

8、Qt 受權
 
  • Qt Commercial Developer License
The Qt Commercial Developer License is the correctlicense to use for the development of proprietary and/or commercial softwarewith Qt where you do not want to share any source code.
You must purchase a Qt Commercial DeveloperLicense from us or from one of our authorized resellers before you startdeveloping commercial software as you are not permitted to begin yourdevelopment with an open source licensed Qt version and convert to thecommercially license version at a later . The Qt Commercial Developer Licenseincludes a restriction that prevents the combining of code developed with theQt GNU LGPL v. 2.1 or GNU GPL v. 3.0 license versi** with commerciallylicensed Qt code.
  • Qt GNU LGPL v. 2.1 Version
This version is available for development ofproprietary and commercial applicati** in accordance with the terms andconditi** of the GNU Lesser General Public License version 2.1.
Support services are available separately forpurchase.
  • Qt GNU GPL v. 3.0 Version
This version is freely available for the developmentof open source software governed by the GNU General Public Licenseversion  3.0 (「GPL」).
Support services are available separately forpurchase.

 

  • License Comparison Chart
   
   
Commercial
LGPL
GPL
License cost
License fee charged
No license fee
No license fee
Must provide source code changes to Qt
No, modificati** can be closed
Source code must be provided
Source code must be provided
Can create proprietary applicati**
Yes - No source code must be  disclosed
Yes, in accordance with the LGPL v. 2.1  terms
No, applicati** are subject to the GPL  and source code must be made available
Updates provided
Yes, immediate notice sent to those  with a valid support and update agreement
Yes, made available
Yes, made available
Support
Yes, to those with a valid support and  update agreement
Not included but available separately for  purchase
Not included but available separately for  purchase
Charge for Runtimes
Yes, for some embedded uses
No
No

 

9、Qt 5 簡介

 

 
        Qt 5是進行Qt C++軟件開發基本框架的最新版本,其中Qt Quick技術處於核心位置 。同時Qt 5能繼續提供給開發人員使用原生QtC++實現精妙的用戶體驗和讓應用程序使用OpenGl/OpenGL ES圖形加速的所有功能。經過Qt 5.0提供的用戶接口,開發人員可以更快的完成開發任務,針對觸摸屏和平板電腦的UI轉變與移植需求,也變得更加容易實現.
        2012年12月19日,Digia宣佈正式發行Qt 5.0。Qt 5.0是一個全新的流行於跨平臺應用程序和用戶界面開發框架的版本,可應用於桌面、嵌入式和移動應用程序。Qt 5 在性能、功能和易用性方面作了極大的提高,並將於明年可徹底支持 Android 和 iOS 平臺。Digia明確代表要使Qt 成爲世界領先的跨平臺開發框架。Qt 5在這個過程當中具備重要的意義,它爲應用程序開發人員和產品用戶提供了最好的用戶體驗。Qt 5極大地簡化了開發過程,讓他們可以更快地爲多個目標系統開發具備直觀用戶界面的程序。它還能夠很平滑的過分到新的開發模式來知足觸摸屏和 Tablet 的需求。
        Qt 5的主要優點包括:圖形質量;中低端硬件上的高性能;跨平臺移植性;支持 C + + 11; QtWebKit 2 支持的 HTML5;大幅改進QML引擎並加入新的 API;易用性並與 Qt 4 版本兼容。
  • 出色的圖像處理與表現能力:Qt Quick 2 提供了基於GL的工做模式,它包括一個粒子系統和一系列着色效果集合。Qt Quick 2 讓複雜圖形的細膩動畫和變形處理變得更加容易,也確保了低端架構中2D和3D效果的平滑渲染效果和在高端架構中同樣的出色。
  • 更高效和靈活的研發: JavaScript和QML在保證對C++基礎和Qt Widget支持上發揮着重要做用。Qt Webkit 2中一部分功能就在使用或者正考慮經過HTML 5,完全的改變Qt
  • 跨平臺的移植變得更加簡單:對於OS開發人員來講,因爲基礎模塊和插件模塊採用了新的架構,以及Qt跨平臺性的繼續強化,Qt已經可以運行在全部的環境中了。而咱們的下一步計劃:全面的支持iOS和Android系統,如今正在如火如荼的開發中。
       Qt 經過使用 OpenGL ES,大大的增長了交付使人印象深入的圖形的能力 (OpenGL ES 是一個專門爲嵌入式系統和移動設備而制定的圖形應用程序編程接口)。這使它更容易開發和部署具備絢麗動畫效果的 2D、3D 圖形應用,這些應用在各類性能級別的嵌入式設備上獲得平滑運行。例如手機、平板電腦和低成本的開發平臺包括 Raspberry Pi。Qt5 新的模塊化的代碼庫使得 Qt5 的跨平臺移植性變得更簡單。它包含了要點模塊組和附加模塊組,這種設計會減少系統代碼庫的尺寸。整合的 Qt 平臺抽象層還強調跨平臺移植性,開發人員能夠經過啓用開發簡便性爲多個目標部署。Qt 支持全部主要的桌面操做系統,包括 Windows,Mac OS X 和 Linux。嵌入式操做系統包括嵌入式 Linux、Windows 嵌入式以及最普遍部署實時操做系統的嵌入式設備——VxWorks、Neutrino 和 INTEGRITY和流行的移動操做系統等等。Qt WebKit 2 集成瀏覽器引擎,容許輕鬆集成 web 內容和應用程序。它將使 HTML5 開發人員感受輕鬆自如,基於 Qt WebKit 2,可以開發出兼顧響應能力和本地代碼強大功能的混合應用。這些應用能夠提供大量的動態內容。
       只須要一個簡單的從新編譯,就能夠直接遷移以前爲 Qt4 開發的應用程序。
相關文章
相關標籤/搜索