簡體   English   中英

文本區域溢出時QML scrollView滾動條不出現

[英]QML scrollView scroll bar does not appear when text area overflows

這是我所做的,我在滾動視圖中有一個文本區域,底部有一個按鈕。

但是當我嘗試通過鍵入單詞來溢出文本區域以使其超出矩形時,不會出現滾動條,而且在鍵入並按 Enter 直到到達矩形底部時,也不會出現垂直滾動條。

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12

Window {

    id: mainWindow
    width: 500
    height: 460
    visible: true
    title: qsTr("Edit Markdown source")
    flags: Qt.WindowCloseButtonHint | Qt.CustomizeWindowHint | Qt.Dialog | Qt.WindowTitleHint
    color: "red"
    
    Column{
        id: cols
        anchors.fill: parent
        anchors.margins: 5
        spacing: 3


        Rectangle {
            id: frame2
            width: parent.width
            height: 400
            border.color: 'gray'
            border.width: 1
            clip: true
            color: "blue"

            ScrollView {
                id: view
                ScrollBar.vertical.policy: ScrollBar.AsNeeded
                ScrollBar.horizontal.policy: ScrollBar.AsNeeded

                TextArea {
                    text: ""
                    color: "white"
                    font.family: "Helvetica Neue"
                    font.pixelSize: 15
                    width: 10
                    height: 10
                }
            }
        }

        Rectangle{
            id:saveRec
            anchors.horizontalCenter: parent.horizontalCenter
            anchors.topMargin: 20
            width: 80
            height: 40
            color: Qt.rgba(62/255,138/255,204/255,1)
            radius: 4

            Text{
                anchors.centerIn: parent
                text:"Save"
                color:"white"
                font.family: fontName
                font.pixelSize: 15
            }

            MouseArea{
                id:saveMouse
                hoverEnabled:true
                anchors.fill: parent
                onEntered: {
                    saveRec.opacity = 0.5
                }
                onExited: {
                    saveRec.opacity = 1
                }
                onClicked:{
                    //...
                }
            }
        }
    }
}

您所缺少的只是您的 ScrollView 沒有定義大小。 如果你告訴它有多大,滾動條就會被繪制出來。 我不確定您為什么將 TextArea 的高度/寬度設置為 10,但在我的測試中,無論是否使用這些行,它都可以工作。

ScrollView {
    id: view
    anchors.fill: parent        // Define the ScrollView's size
    ScrollBar.vertical.policy: ScrollBar.AsNeeded
    ScrollBar.horizontal.policy: ScrollBar.AsNeeded

    TextArea {
        text: ""
        color: "white"
        font.family: "Helvetica Neue"
        font.pixelSize: 15
//        width: 10         // Not needed
//        height: 10        // Not needed
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM