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
。本例中的 parent
是 ScrollView
的内容。默认情况下该内容为空,并且您已指示 Rectangle
填充此空内容 space。因此没有任何显示。
当您添加具有明确大小的 Button
时,它会强制 ScrollView
的内容为非空,因此现在 Rectangle
有内容需要填充,所以你看到了。
我创建了一个新项目并添加了一个带有矩形的滚动视图。当我启动项目时,矩形未显示,但如果我添加其他控件,它就会出现。我不确定我做错了什么,我想一直看到矩形。
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
。本例中的 parent
是 ScrollView
的内容。默认情况下该内容为空,并且您已指示 Rectangle
填充此空内容 space。因此没有任何显示。
当您添加具有明确大小的 Button
时,它会强制 ScrollView
的内容为非空,因此现在 Rectangle
有内容需要填充,所以你看到了。