Como garantir que uma Linha {} ou Coluna {} não contraia quando a propriedade visible: de um item está definida como false?

2

Esta é uma pergunta sobre uma boa prática de codificação com QML:

Como posso ter certeza de que uma Linha {} ou Coluna {} não contrai quando a propriedade visible de um dos itens: está definida como false?

O trabalho atual é ruim, pois eu defini a altura do item para 0,0001.

    
por Akiva 23.09.2014 / 11:35

1 resposta

1

Se você precisar manter o tamanho da coluna, não use a propriedade visible , prefira definir o item opacity a 0 :

Exemplo:

import QtQuick 2.0

Rectangle {
    width: 200
    height: 200

    Column { /* outer column */
      spacing: 10
      Text { text: "Column Element"}
      Column { /* inner column */
        x: 10; y: 10
        spacing: 10
        Rectangle { width: 40; height: 20; color: "red" }
        Rectangle { width: 40; height: 20; color: "green" }
        Rectangle { width: 40; height: 20; color: "blue"; opacity: 0 }
      }
      Text { text: "Row Element" }
      Row { /* inner row */
        spacing: 10
        Rectangle { width: 40; height: 20; color: "red" }
        Rectangle { width: 40; height: 20; color: "green" }
        Rectangle { width: 40; height: 20; color: "blue" }
      }
    }
}

Resultado:

    
por Sylvain Pineau 23.09.2014 / 12:55