วิธีที่จะหลีกเลี่ยงเชื่อมวงตอนที่การตั้งค่านุ่นช่วย?

0

คำถาม

ฉันต้องการจะปรับปรุงนุ่นช่วยของ ScrollView ถ้านั่นเป็นแถบตัวเลื่อนที่มองเห็นแต่อีกด้านนึงที่มองเห็นได้ของแถบตัวเลื่อต้องขึ้นอยู่กับความสูง/ความกว้างของเนื้อหาภายในแถบตัวเลื่อนซึ่งจะเปลี่ยนตอนนุ่นช่วยเปลี่ยนแปลง ต่อไปนี้ทำให้เชื่อมวง:

ScrollView {
  id: control
  rightPadding: Scrollbar.vertical.visible ? Scrollbar.vertical.width : 0
   ....


  ScrollBar.vertical: ScrollBar {
    parent: control
    visible: control.height < height
   ...
  }
}

ยังไงฉันก็จะประสบความสำเร็จในส่วนนี้โดยไม่ได้เชื่อมวง? ขอบคุณ

qml qt qtquickcontrols2
2021-11-15 14:43:32
1

คำตอบที่ดีที่สุด

0

ฉันไม่สามารถให้รหัสของคุณ 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. นี่มันจะได้กลับเข้าไปไม่มีที่สิ้นสุดคือ...-เรื่องทรัพย์สินเงินทอง

2021-11-16 04:25:42

ขอบคุณสำหรับความเห็นของเธอ. นั่นเป็นสิ่งที่ฉันต้องสำหรับเนื้อหา-เป็น textArea กับการตัดคำแบบตายตัวอยู่ที่ไหนความสูงของต้องขึ้นอยู่กับความกว้าง. มีทางที่ฉันสามารถหลีกเลี่ยง recursion ในกรณีนี้?
Denis

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่