QML學習文檔
- 介紹
QML是一種描述語言,主要是對界面效果等的一種描述,它可以結合JavaScript來進行更復雜的效果及邏輯實現。比如做個遊戲,實現一些更有趣的功能等
- 簡單的例子
import Qt 4.7
Rectangle {
width: 200
height: 200
color: “blue”
}
代碼是繪製一個藍色的矩形,寬200 高 200, import包含一個qt4.7的包
3.基本元素的介紹(自己翻譯意思會有出入,敬請見諒)
基本可視化項
Item 基本的項元素在QML中所有可視化的向都繼承他
Rectangle 基本的可視化矩形元素
Gradient 定義一個兩種顏色的漸變過程
GradientStop 定義個顏色,被Gradient使用
Image 在場景中使用位圖
BorderImage(特殊的項) 定義一張圖片並當做邊界
AnimatedImage 爲播放動畫存儲一系列的幀
Text 在場景中使用文本
TextInput 顯示可編輯爲文本
IntValidator int 驗證器
DoubleValidator double 驗證器
RegExpValidator 驗證字符串正則表達式
TextEdit 顯示多行可編輯文本
基本的交互項
MouseArea 鼠標句柄交互
FocusScope 鍵盤焦點句柄
Flickable 提供一種瀏覽整張圖片的一部分的效果,具體看例子
Flipable 提供一個平面,可以進行翻轉看他的前面或後面,具體看例子
一,狀態
State 定義一個配置對象和屬性的集合
PropertyChanges 使用一個State描述屬性的改變
StateGroup 包含一個狀態集合和狀態變換
ParentChange 重新定義父集,也就是換個父節點
AnchorChanges 在一個狀態中改變anchors
二,動畫和變換
Behavior 默認的屬性變換動畫
SequentialAnimation 對定義的動畫串行播放
ParallelAnimation 對定義的動畫並行播放
PropertyAnimation 屬性變換動畫
NumberAnimation 對實數類型屬性進行的動畫
Vector3dAnimation 對QVector3d進行的屬性
ColorAnimation 顏色進行的變換動畫
RotationAnimation 對旋轉進行的變換動畫
ParentAnimation 對父節點進行變換的動畫,改變綁定的父節點
AnchorAnimation 對anchor 進行改變的動畫
PauseAnimation 延遲處理
SmoothedAnimation 允許屬性平滑的過度
SpringAnimation 一種加速的效果
PropertyAction 允許在動畫過程中對屬性的直接改變
ScriptAction 允許動畫過程中調用腳本
Transition 在狀態變換中加入動作變化
四,工作中的數據
Binding 在創建的時候綁定一些數據到一些屬性
ListModel 定義鏈表數據
ListElement 定義ListModel的一個數據項
VisualItemModel 包含可視化項(visual items)到一個view中,相當是一個容器
VisualDataModel 包含一個model和一個delegate,model包含需要的數據,delegate設計顯示的項的信息,具體的去看例子
Package 他的目的是把VisualDataModel共享給多個view,具體還要學習
XmlListModel 特殊的一個模式使用XPath表達式,使用xml來設置元素,參考例子
XmlRole XmlListModel的一個特殊的角色
五 ,視圖
ListView 提供一個鏈表顯示模型試圖
GridView 提供一個網格顯示模型試圖
PathView 提供一個內容沿着路徑來顯示的模型
Path 定義一個PathView使用的軌跡
PathLine 定義一個線性的軌跡
PathQuad 定義一個二次貝塞爾曲線的軌跡
PathCubic 定義一個三次貝塞爾曲線的軌跡
PathAttribute 允許綁定一個屬性上,具體看例子
PathPercent 修改item分配的軌跡不是很明瞭其中的意思
WebView 允許添加網頁內容到一個canvas上
六,定位器
Column 整理它的子列(縱)
Row 整理它的子行(橫)
Grid 設置它的子到一個網格上
Flow 目的是不讓他的子項重疊在一起
七,實用
Connections 明確連接信號和信號句柄
Component 封裝QML items 想一個組件一樣
Timer 提供時間觸發器
QtObject 基本的元素只包含objectName屬性
Qt qml全局Qt object提供使用的枚舉和函數
WorkerScript 允許在QML使用線程
八,Loader 控制載入item或組件
Repeater 使用一個模型創建多個組件
SystemPalette 爲Qt palettes提供一個通道
FontLoader 載入字體根據名字或URL
LayoutItem 允許聲明UI元素插入到qtGraphicsView佈局中
九,變換
Scale 分派item 縮放行爲
Rotation 分派item 旋轉行爲
Translate 分派item 移動行爲