很长一段时间我都想知道ObjectModel
的存在,现在我发现唯一的好处是附加属性ObjectModel.index
但是,我希望仅在Object
添加ObjectModel
后使用此信息,才能最大限度地利用此信息。
如果我创建自定义,可重复使用的组件,我可能会添加以下行
import QtQml.Models 2.2
.....
ObjectModel.onIndexChanged: { ... set properties in dependance of the index ... }
使用索引信息。
现在我正在寻求一种侵入性更小的解决方案,我不需要准备 Component
可能在ObjectModel
中使用,但我可以在哪里{ ... set properties in dependance of the index ... }
Item
1}}在某个时间点,我将ObjectModel
添加到ListView
或我在signals
中使用它。
我缺少的是一些inserted(int index)
,例如我可以处理的RectangleThatCouldBeUsedInAObjectModelThatSetsWidthAndHeightAccordignly.qml:
Rectangle {
ObjectModel.onIndexChanged: {
width = Qt.binding(function() { return 100 * ObjectModel.index }
height = Qt.binding(function() { return 100 * ObjectModel.index }
}
}
来设置属性。 这也使我有机会使用其他外部属性,而不是索引
为什么呢?所以我不必像这样创建组件:
Rectangle
但只需使用QtQml.Models 2.2
代替(愚蠢的例子)
要确保我不必在每个组件中导入ObjectModel
,可能在其中10%的用例中使用 ....
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
$_SESSION['start'] = time();
$_SESSION['expire'] = $_SESSION['start'] + (2592000);
...
。
我只是想用最少的先验知识来使用它。