ฉันไม่สามารถให้รหัสของคุณ frag ต้องทำงาน-มันดูเหมือนว่ารหัสของคุณควรจะขึ้นอยู่กับเนื้อหาของของคุณ ScrollView
แต่นี่ไม่ได้รวมอยู่ในรหัสของคุณ frag และมันอาจจะหายไปบางอย่างอื่นอ้างอิง
ยังไงก็ตาม,ผมขอแนะนำให้กำลังเข้ามาใกล้นี้หน่อยต่างออก-เปลี่ยน ScrollView
's เนื้อหาขอความกว้างของจากพื้นฐานหรือไม่ใช่ 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
นั่นลุถ้ามันไม่เพียงพอที่ความกว้างเนื่องจากมันลากสังขารของนายสูงกว่านี้เมื่อความกว้างของ decreases. นี่มันจะได้กลับเข้าไปไม่มีที่สิ้นสุดคือ...-เรื่องทรัพย์สินเงินทอง