2016-07-22 64 views
1

如果下一個元素的寬度超過指定佈局的寬度,是否會有QML佈局或某些配置自動將QML項目包裝到下一行?在QML佈局中的元素上自動換行

當我使用一個QML GridLayout,該項目剛剛熄滅了窗口的邊緣,並剪短

GridLayout { 
    id: header_focused_container; 
    width: parent.width; 
    anchors.margins: 20; 
    Text { 
     text: "header_focused_container.width=" + 
      header_focused_container.width + 
      " and my width is =" + width 
    } 
    Rectangle { height:20; width:250; color: "red" } 
    Rectangle { height:20; width:250; color: "blue" } 
    Rectangle { height:20; width:250; color: "green" } 
} 

Gridlayout efforts[1]

當我看着"Scalability"標記Qt的文檔頁面我看得很手動縮放繼續。基本上,他們暗示我需要計算所需的列。

是否有某種佈局類型或配置會自動包裝物品?

回答

2

您可以使用Flow

import QtQuick 2.5 
import QtQuick.Window 2.0 

Window { 
    visible: true 
    width: 400 
    height: 200 

    Flow { 
     id: header_focused_container 
     anchors.fill: parent 

     Text { 
      text: "blah" 
     } 
     Rectangle { height:20; width:250; color: "red" } 
     Rectangle { height:20; width:250; color: "blue" } 
     Rectangle { height:20; width:250; color: "green" } 
    } 
} 
+0

完美。謝謝。我知道這樣的事情會存在。 –