[SOLVED] Unable to scroll on ListView within Column
-
I cannot scroll the pageif I start scrolling within the Listview, however if I start scrolling on the text, it works fine.
Item { anchors { top: parent.top left: parent.left right: parent.right } implicitHeight: selectItemsColumn.implicitHeight Column { id: selectItemsColumn anchors { top: parent.top left: parent.left right: parent.right } spacing: 50 Text { id: title anchors { left: parent.left right: parent.right } text: "Title" } Item { id: itemsHolder anchors { left: parent.left right: parent.right } implicitHeight: selectList.contentHeight ListView { id: selectList anchors.fill: parent //model: testModel boundsBehavior: Flickable.StopAtBounds delegate: Item {} } } }
PS: This qml file is being push into StackView
Any advise? Thanks.
-
Hi literA2,
I am not sure I have well understood your issue, I think a comprehensive exemple would helps...but I don't understand why do you ensure every containing items to have an implicit height of its content : doesn't it remove the need of the flickable ? -
I have modified your exemple to clarify my doubt about the implicit height (the button switch from your design to a height limitation)...is it relevant ?
import QtQuick 2.2 import QtQuick.Window 2.1 import QtQuick.Controls 1.2 import QtQml 2.2 Window{ id:page1 visible:true width:640 height:480 property color baseColor : "lightgrey" property bool limitHeight : false; Rectangle { color : Qt.darker(itemsHolder.color) anchors { top: parent.top left: parent.left right: parent.right } implicitHeight: page1.limitHeight ? Math.min(300,selectItemsColumn.implicitHeight) : selectItemsColumn.implicitHeight Column { id: selectItemsColumn anchors { top: parent.top left: parent.left right: parent.right } spacing: 50 Button{ anchors.horizontalCenter: parent.horizontalCenter text: "change height constraint" onClicked: page1.limitHeight = !page1.limitHeight } Text { id: title anchors { left: parent.left right: parent.right } text: "Title" } Rectangle { id: itemsHolder color : Qt.darker(page1.baseColor) anchors { left: parent.left right: parent.right } implicitHeight: page1.limitHeight ? Math.min(250,selectList.contentHeight) : selectList.contentHeight ListView { id: selectList anchors.fill: parent model: 30//testModel boundsBehavior: Flickable.StopAtBounds delegate: Rectangle{ anchors.horizontalCenter: parent.horizontalCenter color:page1.baseColor; width: parent.width *.8; height: 20 Text { anchors.centerIn: parent text:index } } } } } } }
-
@Charby Thanks for the reply.
I actually set an implicitHeight on the main Item so that it will be flickable once pushed into StackView's holder.
My problem is I cannot flick or scroll if i start scrolling on the listview delegates. However, if i will start scrolling on the title, it will scroll up.