【发布时间】:2013-06-15 20:35:22
【问题描述】:
我正在为 UI 构建一个基于 Qt-Quick 2 的 Qt5 应用程序。显示带有高亮组件的 ListView 时遇到问题。当我滚动 ListView 时,突出显示矩形在 ListView 之外可见,我找不到避免它的方法。
以下是最小 QML 文件的问题示例:
import QtQuick 2.0
Rectangle {
width: 360; height: 600
ListView {
width: 350; height: 200
anchors.centerIn: parent
id: myList
model: myModel
highlight: highlightBar
delegate: Item {
width: 400; height: 20
Text { text: name }
MouseArea {
id: mArea
anchors.fill: parent
onClicked: { myList.currentIndex = index; }
}
}
}
Component {
id: highlightBar
Rectangle {
width: parent.width; height: 20
color: "#FFFF88"
}
}
ListModel {
id: myModel
}
/* Fill the model with default values on startup */
Component.onCompleted: {
for(var i = 0; i < 100; i++) {
myModel.append({ name: "Big Animal : " + i});
}
}
}
有没有办法将组件“限制”到其父边框或在滚动时隐藏高亮组件?
【问题讨论】: