QML入門 基本語法(二)

2021-10-25 07:37:11 字數 2810 閱讀 7487

一、型別

二、物件

四、注釋

五、錨布局(anchors)

六、互動

七、除錯輸出

基礎語法

1.import 匯入語句

//可以加入限定符,只在限定符作用域使用

import qtquick 2.9 as coreitems

import "../textwidgets" as mymodule

//只能包含乙個根物件

coreitems.rectangle

}

2.loader

可以動態載入qml,可以看做是一種佔位符,主要用於延遲元件的建立。

它是乙個焦點作用域,要使任何子專案獲得活動焦點,則必須將loader的focus屬性設定為true,任何被載入的專案獲得的鍵盤事件都需要設定accepted為true,從而使他們不會傳播到父專案中和loader中。

一、型別

1.item:是所有視覺化型別的基型別,叫做根物件或者根專案。常用於對專案進行分組。其有乙個堆疊屬性z,預設值為0,值越大,就是在最上面繪製。如果子物件z屬性是負數,則會繪製在父物件的下面。

2.component物件型別,內部只能包含乙個根物件,根物件也不會直接顯示,在需要時才會載入,這個型別一般用於為檢視提供圖形元件

二、物件

當物件型別被例項化以後,就被叫做該物件型別的物件,總而言之,物件型別後面新增 {} 後就被稱為物件。物件包含好多個特性,如id、屬性、訊號、訊號處理器、方法、附加屬性和附加訊號處理器、子物件。

1.id

乙個物件一般都會在開始的時候,指定乙個id的值,這個id值在其他物件中識別並引用該物件,id 值必須使用小寫字母或者下劃線開頭,並且不能使用字母、數字和下劃線以外的字元,其值在乙個元件的作用域中必須是唯一的。

id 看起來像是乙個屬性,但id 並不是乙個屬性。例如上文**中text 物件的 id 為 name,所以可以在其他物件中通過 name.text 來獲取 text 物件中的 text 屬性的值, 但無法通過name.id 來獲取 id 的值。

2.屬性(property)

屬性是物件的特性之一,可以是乙個靜態值或者是乙個動態表示式。可以自定義屬性

property int somenumber

//var也可以當做屬性型別,是一種通用的占用符,可以包含任意型別的值

property var somenumber:

1.5property var somebool:

true

property var somelist:[1

,2,"three"

]//物件型別也可以作為屬性型別

property rectangle somerectangle

//唯讀屬性,必須初始化,不允許為預設屬性,不允許有別名

readonly property var somenumber:

1.5//物件列表屬性

//只宣告,不初始化

property list myrect

//宣告並初始化

property list myrect:

[ rectangle

, rectangle ,]

//屬性別名,可以與現有屬性同名,但是會被覆蓋

//作用:子物件設定屬性別名後,元件使用者可以在外部使用,從而解決了子物件的封裝問題,又將有用的屬性暴露出來。

property alias color: otherobject.color

color:

"red"

3.訊號和訊號處理器特性
4.方法特性 function
rectangle 

width:

200; height:

calculateheight()

}

5.附加屬性和附加訊號處理器

附加屬性,例如listview型別包含乙個附加屬性listview.iscurrentitem,可以附加到listview的每乙個委託物件。

listview 

}}

附加訊號處理器,例如,component,用於在元件建立完成時,執行一些js**

component.oncompleted:

6.列舉
text 

property int texttype: move.texttype.heading

}

四、注釋

五、錨布局(anchors)

這是qml中布局的一種方法,可以在乙個部件的上、下、左、右、水平居中、垂直居中、中心等位置進行錨定。

六、互動

可以通過mousearea,表明需要監視物件的範圍,在通過onclicked:{} 來執行想要進行的操作。

七、除錯輸出

將需要的資訊輸出到控制台。注意需要將console寫在函式裡面或者訊號處理器裡面。

QML 基本模型(二)

repeater元素適合有限的靜態資料,但是在真正使用時,模型通常更加複雜和龐大,我們需要乙個更加智慧型的解決方案。qtquick提供了listview和gridview元素,這兩個都是基於flickable 可滑動 區域的元素,因此使用者可以放入更大的資料。同時,它們限制了同時例項化的 數量。對於...

Swift入門教程 基本語法 二

數字可以增加額外的格式,使它們更容易閱讀 可以增加額外的零 0 let money 001999 1999 let money2 001999.000 1999.0 可以增加額外的下劃線 以增強可讀性 let onemillion1 1 000 000 1000000 let onemillion2...

jQuery 入門教程 二 基本語法

學習jquery之前需要你有下面幾個方面的基本知識 selector action 比如 this hide 隱藏當前元素.p hide 隱藏所以 元素.test hide 隱藏所以類名為test的元素.test hide 隱藏id為test的元素。幾乎所有的jquery 都有如下的 documen...