我创建了一个新项目,并添加了一个带矩形的滚动视图。当我启动项目时,不显示矩形,但如果我添加其他控件,则会显示。我不确定自己做错了什么,我想总是看到这个矩形。
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")
}
}
}
}
但是,如果我向此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"
}
}
我的第一个代码(没有按钮)出了什么问题?
答案 0 :(得分:2)
ScrollView
有两种尺寸,UI中控件视图的大小以及ScrollView
内容的大小。
当您添加Rectangle
而没有Button
时,您会指示Rectangle
填写parent
。在这种情况下,parent
是ScrollView
的内容。默认情况下,内容为空,并且您已指示Rectangle
填充此空白区域。因此没有任何显示。
当您添加具有明确大小的Button
时,它会强制ScrollView
的内容为非空,所以现在Rectangle
有一些要填充的内容,因此您看到它。