繁体   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