QML 基本可視元素之Item 六


Item

QML中的所有可視項目都繼承自Item。雖然Item本身沒有可視化的外觀,但是它定了以可視化項目的所有屬性,例如L位置,大小,布局anchors相關屬性和關於按鍵處理的keys屬性等。Item擁有一個visibel屬性,將其社這位false可以隱藏項目,該屬性默認值為true。

1.作為容器

Item常用來對項目進行分組

Item
{
   Image{source:“tile.png”}
   Image{x:29;y:34
              width:123; height:234
              source:"tile.png"}
   Image{x:190 
              width:345 ; height:456
              source:"tile.png"
              fillMode:Image.Tile
               }
}    

  

2.默認屬性

  Item中有個children屬性和resource屬性。前者包含了可見的孩子的列表,后者包含了不可見的資源。例如:

Item{
    children:[
                 Text{},
                  Image{},
                  Rectangle{}
                   ]
       resources:[
                       Timer{}
                       ]
}

  Item中還有個data默認屬性,它允許在有個項目中將可見的孩子和不可見的資源自由混合。也就是說,如果向data列表中添加一個可視項目,那么將作為一個孩子進項添加;而如果添加任何其他的對象類型,那么將被作為資源進項添加。又因為data是默認屬性,所有可以省略data標簽。前面的額帶面可以改寫為:

Item{
     Text{}
      Image{}
      Rectangle{}//前面三個作為children可見
     Timer{}//作為資源類型不可見
}

  也就是說,編程中可以直接向一個項目中添加任何的元素。

3.透明度

Item有一個opacity(不透明)屬性,可以用來設置透明度。該屬性可以設置為0-1.0(完全不透明)之間。opacity可以繼承。

 

4.堆疊順序

Item中的z屬性表明兄弟之間的堆疊順序。默認z=0,z值越大,繪制越在上面。相同z值由上到下依次繪制。z為負值,會被繪制在父項目的下面。

 Rectangle{
    color:"red"
    width:100;height:100}

    Rectangle{
    color:"blue"
    x:50;y:50
    width:100;height:100}

        

左圖為上述代碼結果,右圖為下述代碼結果

    Rectangle{
    z:1
    color:"red"
    width:100;height:100}

    Rectangle{
    color:"blue"
    x:50;y:50
    width:100;height:100}

  

5.定位子項目和坐標映射

Item提供childAt(real x, real y)函數返回在點(x,y )處的子項目。

 


免責聲明!

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



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