2017-01-09 3 views
4

Я хочу создать макет в QML, и я хотел бы добавить распорную деталь (дно выбранного пункта на картинке ниже) так же, как вы делаете с помощью виджетов, как так:Spacer Пункт в QML макетах

enter image description here

Но я не мог найти что-либо в этом отношении на стороне QtQuick ... возможно ли иметь такой вид макета в QML без использования системы анкеровки? Я предпочитаю подход макеты ...

+2

Возможный дубликат [Как указать конкретное расстояние до элементов в макете QML?] (Http://stackoverflow.com/questions/35587755/how-to-give-specific-spacing-to-items-in-a -qml-layout) – BaCaRoZzo

ответ

10

Вы можете просто использовать Item с Layout.fillHeight: true:

import QtQuick 2.0 
import QtQuick.Controls 1.4 
import QtQuick.Layouts 1.3 

ApplicationWindow { 
    visible: true 
    ColumnLayout { 
     anchors.fill: parent 
     Button { 
      Layout.fillWidth: true 
      text: "PushButton" 
     } 
     Button { 
      Layout.fillWidth: true 
      text: "PushButton" 
     } 
     Label { 
      Layout.fillWidth: true 
      text: "TextLabel" 
     } 
     Item { 
      // spacer item 
      Layout.fillWidth: true 
      Layout.fillHeight: true 
      Rectangle { anchors.fill: parent; color: "#ffaaaa" } // to visualize the spacer 
     } 
    } 
} 

EDIT: В качестве альтернативы здесь, вы могли бы использовать Column, без проставки поскольку Column просто позиционирует своих детей сверху вниз и не распространяет их, чтобы взять все свободное место.

+0

Я думаю, что это путь, и это действительно не пахнет, как обходной путь! Спасибо! –

Смежные вопросы