Как убедиться, что строка {} или столбец {} не сжимаются, когда для свойства visible: item установлено значение false?

Это вопрос о хорошей практике кодирования с QML:

Как я могу убедиться, что строка {} или столбец {} не сжимаются, если для одного из свойств Item: visible установлено значение false?

Текущее решение проблемы плохое в том, что я установил высоту элемента на 0,0001.

1 ответ

Если вам нужно сохранить размер столбца, не используйте visible свойство, предпочитаете установить пункт opacity в 0:

Пример:

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" }
      }
    }
}

Результат:

введите описание изображения здесь

Другие вопросы по тегам