У меня есть QML ColumnLayout с несколькими детьми, и я хочу, чтобы ограничить его ширину, например, так:QML Layout не ограничивает ширину детей
ColumnLayout {
width: 360
height: 480
ColumnLayout {
id: inner
Layout.maximumWidth: 200
Layout.fillHeight: true
Text {
text: "Welcome"
font.pixelSize: 18
}
Text {
text: "Long explanation that should wrap, but ends up overflowing layout"
wrapMode: Text.WrapAnywhere
}
}
Rectangle {
anchors.fill: inner
z: -1
border.color: "orange"
}
}
я получаю результат, показанный на рисунке.
Оранжевое окно показывает размеры внутреннего элемента компоновки, которая все в порядке. Тем не менее, текст текста макета не обернут.
я могу исправить только, что при добавлении
Layout.maximumWidth: parent.width
к моим пунктам «Текст», но это довольно неудобно подход. Я делаю что-то неправильно, или это ошибка Qt, или это какой-то подход к дизайну по какой-то причине? Я использую Qt 5.4.1.
Пожалуйста, попробуйте свой код, прежде чем отправить его: 'Invalid присвоение собственности:«contentWidth»является свойство только для чтения' – Mitch
(Это 'Layout.fillWidth: true') – Mitch
Я отредактировал ответ. – Nadarian