私は、FlickableでbackGroundListとトップのgridviewを持っています。gridview contentを処理する方法親からのYの位置QMLのFlickable
グリッドビューのコンテンツYを親から持ちたいFlickable、コンテンツの高さとしてグリッドビューの高さを割り当てるときに動作していますが、メモリの問題が原因で以前にアイテムを作成したくありません。
コード:予想通り
Flickable {
id: mainFlickable
width: 1920
height: 1080
contentHeight: gridView.contentHeight + 660 + 140 // topmargin + bottom margin
ListView {
id:backGroundList
width: 1920
height: 1080
y: mainFlickable.contentY
orientation: ListView.Horizontal
MouseArea {
id: myMA12
anchors.fill: parent
hoverEnabled: true
}
}
GridView {
id: gridView
objectName: "gridView"
width: 1920
height: 1080
cellWidth: 372
cellHeight: 290
interactive: false
y: {
if (mainFlickable.contentY > 660)
return 660 + (mainFlickable.contentY - 660)
else
return 660
}
contentY: {
if (mainFlickable.contentY > 660){
return (mainFlickable.contentY - 660)
}
else {
return 0
}
}
delegate: Rectangle {
width: 352
height: 270
color: "blue"
opacity: 0.5
Text {
text: index
anchors.centerIn: parent
}
}
model:100
anchors {
left: parent.left
leftMargin: 30
right: parent.right
rightMargin: 30
}
}
}
そのが働いていません。 Qt5.9.0
は、いくつかのいずれかがこの上で私を助けることができます:私はYを更新すると値ContentYは自動的に
制約をゼロに更新しています。
あなたのUIをどのように見せるかについての素早いワイヤフレームを提供できますか?私たちにあなたのニーズのより高いレベルの見解を与える。 2つのFlickablesを1つに入れ子にして間違っているように感じる( 'ListView'と' GridView'は両方とも 'Flickable'から継承しています) – GrecKo