У меня есть простой «диалог» в qml, где пользователь должен выбрать одно изображение. Изображения уменьшаются и отображаются в виде GridLayout внутри ScrollView. Изображения должны быть шириной 1/2 прокрутки, рядом с ними будут описания.
Что я вижу, так это то, что вертикальный интервал огромен и не изменяется при изменении размера окна. На самом деле кажется, что интервал соответствует полноразмерным (немасштабированным) изображениям.
Проблема меняется, когда я устанавливаю Layout.preferredHeight: 100
(например), но с другой стороны, интервал между изображениями должен быть меньше, чем этот, и не превышать 100 пикселей в высоту. Я хотел бы решить это, не предполагая каких-либо абсолютных размеров.
Как это исправить?
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
ApplicationWindow{
visible: true
id: root
width: 600
height: 1200
ScrollView {
id: scroll
anchors.fill: parent
ListModel{
id: demosModel
ListElement{ src:"01.jpg"; }
ListElement{ src:"02.jpg"; }
ListElement{ src:"03.jpg"; }
ListElement{ src:"04.jpg"; }
}
GridLayout{
anchors.fill: parent
columns: 1
rowSpacing: 10
Repeater{
model: demosModel
Image {
source: "assets/"+src;
Layout.preferredWidth: .5*scroll.width;
fillMode: Image.PreserveAspectFit;
}
}
}
}
}