我正在尝试使用混合尺寸的项目(文本/图像)制作类似于旋转木马的菜单。我已经启动并运行它了,但大小始终是a)允许其适合所有模型项目的最小大小,或者b)取决于PathItemCount(pathView.Width / count = RepresentativeWidth)具有相同的大小。在委托和/或加载程序中显式设置宽度没有帮助。
是否可以在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
}
}
}