मैं प्राप्त करने में असमर्थ था अपने कोड frag काम करने के लिए - यह की तरह लगता है अपने कोड पर निर्भर होना चाहिए की सामग्री को अपनी ScrollView
है , लेकिन यह शामिल नहीं है अपने कोड में frag, और यह गायब हो सकता है कुछ अन्य संदर्भ.
वैसे भी, मैं सुझाव है कि आ रहा है यह एक थोड़ा अलग तरह से बदलें ScrollView
'एस सामग्री की चौड़ाई के आधार पर कि क्या है या नहीं ScrollBar
दिखाई दे रहा है. मैं भी सेट ScrollBar
नीति के बजाय दृश्यता. मैं बनाया है एक पूर्ण उदाहरण है जहाँ आप कर सकते हैं जोड़ें या निकालें का उपयोग सामग्री के लिए एक स्लाइडर प्रदर्शन:
import QtQuick 2.15
import QtQuick.Layouts 1.12
import QtQuick.Controls 2.12
ApplicationWindow {
id: root
visible: true
height: 500
width: 500
ColumnLayout {
anchors {
fill: parent
}
Slider {
// use slider to add delegates to the ScrollView to toggle the scroll bar visibility
id: slider
to: 20
}
ScrollView {
id: scroll
Layout.fillHeight: true
Layout.fillWidth: true
ScrollBar.vertical.policy: scrollBarVisible ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff
property bool scrollBarVisible: scroll.contentHeight > scroll.height
ColumnLayout {
width: scroll.scrollBarVisible ? scroll.width - scroll.ScrollBar.vertical.width : scroll.width // change the width of the
Repeater {
model: slider.value
delegate: Rectangle {
color: "tomato"
Layout.fillWidth: true
Layout.preferredHeight: 150
}
}
}
}
}
}
एक बात नोट करने के लिए हालांकि - अपने ScrollView
सामग्री नहीं हो सकता है अपनी ऊंचाई पर निर्भर करती है, इसकी चौड़ाई, उदाहरण के लिए, यदि सामग्री कुछ था Text
लपेटता है कि वहाँ नहीं है यदि पर्याप्त चौड़ाई के कारण यह लम्बे प्राप्त करने के लिए जब की चौड़ाई कम हो जाती है । इस में वापस पाने के लिए अनंत लूप क्षेत्र है.