Qt5 結構及模塊組成?


  • 作為一個Qt的粉絲,對將於明年發布的Qt5充滿了期待。可是想想Qt5將發生的巨大變化,心底又有點不安。Qt5到底會變成什么樣呢?

看看近期Qt5的一些大動作:

  • 從 QtCore中移除 QSettings以及對QSettings的依賴(創建獨立的模塊?)

  • 從 QtCore中移除 QtConcurrent(創建獨立模塊?)

  • 將 QJSEngine 和 QDeclarativeEngine 放入 QtCore

  • 從 QtGui 中分離出 QtPrintSupport,保留pdf生成功能

  • QtCore 添加 zip 文件的讀寫功能

  • ...

Qt5 結構

Qt Essentials

在所有平台可用

Qt Tools

Qt的不可分割的組成部分,在所有桌面平台可用

Qt Add-Ons

可跨平台,也可不跨

其他模塊和工具

第三方?

Qt5 的基礎模塊(Qt Essentials)

Qt Core

 

Qt Network

可能會集成到 Core

Qt Gui

除去所有QWidget相關的類以后的部分

Qt OpenGL

可能會被合並到其他模塊

Qt Quick2

 

Qt Test

 

Qt Sql

 

V8 JavaScript engine

 

Qt DBus

由於依賴問題,必須被包含進來

Qt WebKit

提供新的底層C++和QML的接口

Qt MultimediaKit

 

來自Qt mobility的一些模塊

初期可能還不會包含進來

Qt5 的核心將是 Qt Quick,qml和javascript將成為一等公民。這些模塊中變化最大的當屬 Gui 模塊了,GUI結構進行了徹底的更新:

  • SceneGraph, 什么東東呢?不太了解。似乎:“Scene Graph”是一種組織場景數據的方法,它把數據放進一個層次結構里。

  • OpenGL, Qt5將依賴OpenGL 2

  • lighthouse(QPA),各個平台下圖形系統的移植靠它實現,不過現在好像還沒看到Win32插件的影子。

同時 QWidget 相關內容將獨立成為QtWidget 模塊,與打印相關內容,獨立出來成為QtPrintSupport,...

但是,這並不是說這部分被廢棄了。之所以不在Qt Essentials內,是因為並不是所有平台都需要它。對於桌面平台來說,QtWidget 和其他模塊一樣,是一等公民!!

  • We want to send the correct message to the users of QWidget classes: they are 1st class citizens in the desktop environment, but not necessarily available in the embedded or mobile environments

Qt附加組件(Qt Add-Ons)

在Qt5中,盡管 Qt Quick 是Qt的中心,但是Qt5仍將一如既往支持原生C++ Qt,而且不想與現在Qt4開發的代碼分裂。Qt4中的一些模塊在Qt5中被放入Qt Add-Ons中。

  • Qt 5 continues to offer all of the power of native Qt C++, and we don’t want Qt 5 to be disruptive for existing code developed for Qt 4.

QWidget 模塊

模塊成熟級別:完成(Done)
不再添加新特性或進行性能優化

Xml

XmlPatterns

Script 和 Scripts Tools

ActiveQt

Svg

模塊成熟級別:廢棄
QtWebKit提供Svg Full支持

Mobility中的一些模塊

 

Qt Quick components模塊

 

3D

 

graphics effects

 

還有些東西沒看到哈,比如:

phonon

phonon由KDE社區繼續維護,Qt建議使用 QtMultimediaKit

Qt Multimedia

從Qt4.8開始,廢棄,建議 QtMultimediaKit

Qt3 Support

廢棄

參考

http://blog.sina.com.cn/s/blog_671732440100y6pd.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM