Scrollview 中的矩形不可见

Rectangle in Scrollview is not visible

我创建了一个新项目并添加了一个带有矩形的滚动视图。当我启动项目时,矩形未显示,但如果我添加其他控件,它就会出现。我不确定我做错了什么,我想一直看到矩形。

import QtQuick 2.7
import QtQuick.Window 2.2
import QtQuick.Controls 1.4

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
    id: mainWindow
    ScrollView{
        anchors.left: parent.left
        anchors.top: parent.top
        anchors.bottom: parent.bottom
        anchors.topMargin: 0
        anchors.bottomMargin: 0
        width: 289
        Rectangle{
            anchors.fill: parent
            color: "blue"
            MouseArea
            {
                anchors.fill: parent
                onClicked: console.log("Click")
            }
        }
    }
}

使用此代码,我得到以下内容 window(矩形不可见):

但是,如果我向这个 ScrollView 添加一个按钮...

 ScrollView{
        anchors.left: parent.left
        anchors.top: parent.top
        anchors.bottom: parent.bottom
        anchors.topMargin: 0
        anchors.bottomMargin: 0
        width: 289
        Rectangle{
            anchors.fill: parent
            color: "blue"
            MouseArea
            {
                anchors.fill: parent
                onClicked: console.log("Click")
            }
        }
        Button{
            text:"Test"
        }
    }

矩形出现:

我的第一个代码(没有按钮)有什么问题?

ScrollView有两种大小,UI中控件视图的大小,ScrollView中内容的大小。

当您添加 Rectangle 而没有 Button 时,您指示 Rectangle 填充其 parent。本例中的 parentScrollView 的内容。默认情况下该内容为空,并且您已指示 Rectangle 填充此空内容 space。因此没有任何显示。

当您添加具有明确大小的 Button 时,它会强制 ScrollView 的内容为非空,因此现在 Rectangle 有内容需要填充,所以你看到了。