【发布时间】:2016-01-28 12:28:09
【问题描述】:
我对 QML 非常陌生,并且对 C++ 相当熟悉。我一直在尝试通过一些 QML 示例来尝试学习它。
我在玩TumblerColumn 控件(来自示例),基本上是在尝试设置模型来设置年份。它是这样的:
TumblerColumn {
id: yearColumn
width: characterMetrics.width * 4 + tumbler.delegateTextMargins
model: ListModel {
Component.onCompleted: {
for (var i = 2000; i < 2100; ++i) {
append({value: i.toString()});
}
}
}
onCurrentIndexChanged: tumblerDayColumn.updateModel()
}
现在,我做了如下更改:
TumblerColumn {
id: yearColumn
width: characterMetrics.width * 4 + tumbler.delegateTextMargins
property int startYear: 2000
property int endYear: 3000
model: ListModel {
Component.onCompleted: {
for (var i = startYear; i < endYear; ++i) {
append({value: i.toString()});
}
}
}
onCurrentIndexChanged: tumblerDayColumn.updateModel()
}
这会返回一个错误:
ReferenceError: startYear 未定义
如何为此类 QML 元素定义这些只读常量属性。
【问题讨论】: