Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.2.0
-
None
Description
When trying to use ScrollView with content that fills ScrollView, but has some minimum width/height, there are errors printed and scrollbars don't work as expected, when main window is resized. The errors are:
qrc:/qt-project.org/imports/QtQuick/Controls/Windows/ScrollView.qml:60:27: QML ScrollBar: Binding loop detected for property "visible"
1) Exapmle, which also prints "QML ScrollView: Binding loop detected for property "implicitHeight"" for some reason
Window { width: 400 height: 400 visible: true ScrollView { id: scrollId anchors.fill: parent Rectangle { id: contentId color: "blue" implicitWidth: scrollId.width < 300 ? 300 : scrollId.width implicitHeight: scrollId.height < 300 ? 300 : scrollId.height } } }
2) Example has the same result, but without "implicitHeight" error.
Window { width: 400 height: 400 visible: true ScrollView { id: scrollId anchors.fill: parent contentWidth: contentId.implicitWidth contentHeight: contentId.implicitHeight Rectangle { id: contentId color: "blue" implicitWidth: scrollId.width < 300 ? 300 : scrollId.width implicitHeight: scrollId.height < 300 ? 300 : scrollId.height } } }
3) Another example, same result.
Window { width: 400 height: 400 visible: true ScrollView { id: scrollId anchors.fill: parent contentWidth: width < 300 ? 300 : width contentHeight: height < 300 ? 300 : height Rectangle { id: contentId color: "blue" anchors.fill: parent } } }
4) This example for some reason works as expected regarding the scrollbars, BUT still prints the "visible binding" errors (although much less often)
Window { width: 400 height: 400 visible: true ScrollView { id: scrollId anchors.fill: parent Rectangle { id: contentId color: "blue" implicitWidth: parent.parent.width < 300 ? 300 : parent.parent.width implicitHeight: parent.parent.height < 300 ? 300 : parent.parent.height } } }
If I remember correctly, then I had this problem in Qt 5 too.