我开始使用 qtquick 1.1。我设计了一个主要由路径视图组成的组件。
Rectangle {
id: pathViewElement
PathView {
id: pathView
pathItemCount: 4
preferredHighlightBegin: 0.5
preferredHighlightEnd: 0.5
highlightRangeMode: PathView.StrictlyEnforceRange
model: myModel
delegate: Item {
width: valueText.width
height: 50
scale: 1.0-2*Math.abs(pathViewElement.width/2-(x+width/2)) / pathViewElement.width
opacity: scale
smooth: true
Text {
id: valueText
anchors.centerIn: parent
text: myModel.value
font.pointSize: 35
}
}
path: Path {
startX: 0; startY: 25
PathLine { x: pathViewElement.width; y: 25;}
}
}
}
此 PathView 使用名为 myModel 的模型。它可能位于任何其他文件中。
现在的问题如下:我正在使用相同的组件来更改不同的值。这些值中的每一个都与另一个 QML ListModel 一起提供。那么如何动态更改 PathView (myModel) 中使用的模型呢?
此外,在创建 PathView 时,我可以使用静态设置模型
model: MyListModel{}
其中 MyListModel 是一个仅包含 ListModel {} 声明的 qmlFile。但是当我从第三个文件中动态创建 PathView 时,比如 MyApplication.qml 我无法设置 pathViewElement.model: MyListModel{} 因为编译器需要一个“;” 代替 {}。为什么是这样?