QML學習文檔
介紹QML是一種描述語言,主要是對界面效果等的一種描述,它可以結(jié)合javaScript來進行更復雜的效果及邏輯實現(xiàn)。比如做個游戲,實現(xiàn)一些更有趣的功能等
簡單的例子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 提供一個平面,可以進行翻轉(zhuǎn)看他的前面或后面,具體看例子
一,狀態(tài)
State 定義一個配置對象和屬性的集合
PRopertyChanges 使用一個State描述屬性的改變
StateGroup 包含一個狀態(tài)集合和狀態(tài)變換
ParentChange 重新定義父集,也就是換個父節(jié)點
AnchorChanges 在一個狀態(tài)中改變anchors
二,動畫和變換
Behavior 默認的屬性變換動畫
SequentialAnimation 對定義的動畫串行播放
ParallelAnimation 對定義的動畫并行播放
PropertyAnimation 屬性變換動畫
NumberAnimation 對實數(shù)類型屬性進行的動畫
Vector3dAnimation 對QVector3d進行的屬性
ColorAnimation 顏色進行的變換動畫
RotationAnimation 對旋轉(zhuǎn)進行的變換動畫
ParentAnimation 對父節(jié)點進行變換的動畫,改變綁定的父節(jié)點
AnchorAnimation 對anchor 進行改變的動畫
PauseAnimation 延遲處理
SmoothedAnimation 允許屬性平滑的過度
SpringAnimation 一種加速的效果
PropertyAction 允許在動畫過程中對屬性的直接改變
ScriptAction 允許動畫過程中調(diào)用腳本
Transition 在狀態(tài)變換中加入動作變化
四,工作中的數(shù)據(jù)
Binding 在創(chuàng)建的時候綁定一些數(shù)據(jù)到一些屬性
ListModel 定義鏈表數(shù)據(jù)
ListElement 定義ListModel的一個數(shù)據(jù)項
VisualItemModel 包含可視化項(visual items)到一個view中,相當是一個容器
VisualDataModel 包含一個model和一個delegate,model包含需要的數(shù)據(jù),delegate設計顯示的項的信息,具體的去看例子
Package 他的目的是把VisualDataModel共享給多個view,具體還要學習
xmlListModel 特殊的一個模式使用XPath表達式,使用xml來設置元素,參考例子
XmlRole XmlListModel的一個特殊的角色
五 ,視圖
ListView 提供一個鏈表顯示模型試圖
GridView 提供一個網(wǎng)格顯示模型試圖
PathView 提供一個內(nèi)容沿著路徑來顯示的模型
Path 定義一個PathView使用的軌跡
PathLine 定義一個線性的軌跡
PathQuad 定義一個二次貝塞爾曲線的軌跡
PathCubic 定義一個三次貝塞爾曲線的軌跡
PathAttribute 允許綁定一個屬性上,具體看例子
PathPercent 修改item分配的軌跡不是很明了其中的意思
WebView 允許添加網(wǎng)頁內(nèi)容到一個canvas上
六,定位器
Column 整理它的子列(縱)
Row 整理它的子行(橫)
Grid 設置它的子到一個網(wǎng)格上
Flow 目的是不讓他的子項重疊在一起
七,實用
Connections 明確連接信號和信號句柄
Component 封裝QML items 想一個組件一樣
Timer 提供時間觸發(fā)器
QtObject 基本的元素只包含objectName屬性
Qt qml全局Qt object提供使用的枚舉和函數(shù)
WorkerScript 允許在QML使用線程
八,Loader 控制載入item或組件
Repeater 使用一個模型創(chuàng)建多個組件
SystemPalette 為Qt palettes提供一個通道
FontLoader 載入字體根據(jù)名字或URL
LayoutItem 允許聲明UI元素插入到qtGraphicsView布局中
九,變換
Scale 分派item 縮放行為
Rotation 分派item 旋轉(zhuǎn)行為
Translate 分派item 移動行為
新聞熱點
疑難解答