我需要创建动态添加到屏幕区域的组件,这些组件当然需要滚动。我发现,无论使用滚动条作为父级添加多少组件,滚动条都不会出现,并且该元素也不会滚动。
我有点摆弄,我想我想出了一个最小的例子来说明我在说什么:
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
ScrollView {
width: 200
height: 200
clip: true
Label {
text: "ABC"
font.pixelSize: 224
}
// Rectangle {
// color: "#ff0000"
// width: 100
// height: 100
// }
}
}
这是官方文档中使用的示例的修改版本。但是,当我取消对正方形的注释时,屏幕将不再滚动(滚动条永远不会出现)。
如果我删除标签并留下矩形(使其变大以便滚动到某个地方),它仍然不起作用。
我正在使用Qt 5.10。
答案 0 :(得分:0)
所以下面的代码对我有用。我将矩形定义为背景,以将边框线添加到需要创建的可滚动表格中。
Rectangle {
id: tableBackground
color: "#ffffff"
border.width: 2
border.color: "#EDEDEE"
radius: 4
anchors.top: tableHeader.bottom
anchors.left: tableHeader.left
width: vmTableWidth
height: vmTableHeight - tableHeader.height
ScrollView {
id: tableArea
anchors.fill: parent
clip: true
ListView {
id: patientListView
anchors.fill: parent
model: patientList
delegate: VMPatientEntry {
onFetchReport: {
// This is a signal emitted by my VMPatientEntry.
}
}
onCurrentIndexChanged: {
// Do stuff when the current index changes.
}
}
}
}
所以我希望这个答案也能使人也解决他们的问题。