Я пытаюсь создать меню, похожее на карусель, с элементами разного размера (текст / изображения).Я установил его и запустил, но размер всегда будет либо а) быть минимальным разрешенным размером для всех элементов модели, либо б) иметь одинаковый размер в зависимости от PathItemCount (pathView.Width / count = DelegateWidth).Явное задание ширины в делегатах и / или загрузчике не помогает.
Есть ли способ обойти это в PathView или все элементы должны быть одинакового размера?
Текущий код:
Item {
width: parent.width
height: 100
PathView {
id: pathView
anchors.fill: parent
model: modelData
preferredHighlightBegin: 0.5
preferredHighlightEnd: 0.5
delegate: Loader {
property string modelText: textString
property string modelSource: imgSrc
sourceComponent: {
switch(itemType) {
case "text" :
return textDelegate;
case "image":
return imageDelegate;
}
}
}
dragMargin: pathView.width/2
path: Path {
startX: 0; startY: pathView.height/2
PathLine { x: pathView.width; y: pathView.height/2 }
}
}
}
Component {
id: imageDelegate
Item {
id: wrapper
Image {
anchors.centerIn: parent
source: modelSource
}
}
}
Component {
id: textDelegate
Item {
id: wrapper
Text {
anchors.centerIn: parent
font.pixelSize: 25
text: modelText
}
}
}