在ObjectModel或ListView

时间:2016-12-12 13:49:43

标签: qt listview qml qtquick2

很长一段时间我都想知道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); ...

我只是想用最少的先验知识来使用它。

0 个答案:

没有答案