經管之家送您一份
應屆畢業(yè)生專屬福利!
求職就業(yè)群
感謝您參與論壇問題回答
經管之家送您兩個論壇幣!
+2 論壇幣
Qt Quick最早出現在Qt的4.7版本中,目標是在UI設計者與開發(fā)者之間搭建一個更高效合作平臺,給開發(fā)者更好的UI開發(fā)體驗。雖然幾經易手,Qt在digia公司這些年的努力迭代更新下,Qt Quick終于迎來了成熟穩(wěn)定的版本(這也是我愿意在最近的項目里轉用它的原因)。
至于Qt Quick和老一套開發(fā)核心Qwidget的區(qū)別,其中最重點的就是提供了新的UI描述語言QML(Qt Meta-object Language,Qt元對象描述語言)。QML乍看起來有點像json,但是核心思想卻是模仿web頁面。沒錯,在QML文件中允許搭配Javascript代碼,就可以輔助實現豐富的UI交互邏輯。
如果你以往習慣QWidget開發(fā),那么Qt Quick真的非常值得上手試試。
Qt Quick是一些新UI技術的集合,主要由3部分組成:Qt Creator IDE ( 包含 Qt Quick 設計器 )、QML語言、Qt庫中的QtDeclarative模塊(Qt4),QML是對JavaScript的一種擴展,利用一個聲明性語法,使用QML元素指定每一個用戶界面,這些元素組合在一起形成各種組件,Qt的QtDeclarative模塊實現了QML語言和對它適用的元素之間的接口,該模塊還提供了一個C++接口,可以用來在Qt/C++應用程序中加載QML文件并與之通信(QtDeclarative Module的作用就是將QML元素與以前的標準C++類相結合)
Qt5圖形引擎基于GPU,應用開發(fā)套件Qt Quick2(適用于觸摸屏的UI開發(fā)),增加了對C++11支持,加強了對JavaScript和QML的支持,可以混合編程,Qt5是Qt4漸進而平緩的升級,與Qt4高度兼容
Qt5下,QWidget系列從QtGui中被剝離出去,成為單獨的QtWidget模塊,隨著Qt Quick2的引入,QtDeclarative也逐漸和QWidget系列脫離關系,在Qt5下的GUI編程,有兩套不同的東西:QtWidget (使用BackingStore)、QtQuick (使用Scene Graph)
Qt Quick應用程序
移動設備的用戶界面設計非常不同。它們相對于桌面應用程序更加簡潔,只需要專注的做一件事情。動畫效果是一個非常重要的部分,用戶界面需要生動活潑。傳統(tǒng)的Qt技術已經不適于這些市場了。Qt Quick將會解決這個問題。
Qt Quick 提供了一個類似HTML聲明語言的環(huán)境應用程序作為你的用戶界面前端(the front-end),在你的后端使用本地的c++代碼。這樣允許你在兩端都游刃有余。比如:
import QtQuick 2.0
Rectangle {
width: 240; height: 1230
Rectangle {
width: 40; height: 40
anchors.centerIn: parent
color: '#FFBB33'
}
}
在使用 QML 進行界面開發(fā)時,我們的目標是創(chuàng)建一套流體界面,所謂流體界面指的是UI組件是動態(tài)變化的。舉個例子,當界面上的組件需要變化時,如果視覺畫布突然變化會導致用戶的體驗感比較差。而如果在狀態(tài)的變化過程中,我們添加一些引導,把狀態(tài)從初始慢慢變化到目標狀態(tài),讓用戶可以感受到這個變化的過程,那么用戶的感官體驗這一塊就會大大提升了,而這也就是所謂的動態(tài)變化這里需要引出幾個重要的概念:State(狀態(tài))、Transition(過度)、Animation(動畫)State(狀態(tài)):所有項目都有一個默認狀態(tài),用于定義對象和特性值的默認配置。可以通過向 states 屬性添加狀態(tài)項來定義新狀態(tài),以允許項在不同配置之間切換Transition(過度):發(fā)生狀態(tài)更改時要應用的動畫Animation(動畫):隨著時間的推移逐漸改變屬性
Qt Quick 是 Qt 提供的一種高級用戶界面技術。使用它可輕松地為移動和嵌入式設備創(chuàng)建流暢的用戶界面。
在 Android 設備上, Qt Quick 應用默認使用 OpenGL ES ,渲染效率很高,你能夠用它創(chuàng)建很炫很酷很迷人的界面。
Qt Quick 模塊是開發(fā) QML 應用的標準庫,提供了使用 QML 創(chuàng)建用戶界面所需的一切東西,包括可視化類型、交互類型、動畫、模型與視圖、粒子效果與著色效果等等。
Qt Quick 提供了兩組 API :
QML API ,它提供了使用 QML 語言創(chuàng)建用戶界面所需的 QML 類型。
C++ API ,供開發(fā)人員使用 C++ 擴展 QML 應用。
Qt Quick 包括下列主題:
可視化的 Canvas
用戶輸入
元素定位與布局
狀態(tài)、過渡和動畫
數據模型、視圖和數據存儲
粒子和圖形特效
方便類型
要使用 Qt Quick ,必須知道如何使用 QML 語言來撰寫 QML 應用。
掃碼加我 拉你入群
請注明:姓名-公司-職位
以便審核進群資格,未注明則拒絕
|