在 QML 中,模型角色的名称通常使用strings
.
然而,在某些情况下,情况并非如此。一个例子是ListModel.onDataChanged
这里我们有三个参数(见这里)topLeft
,我们可以用它们来处理信号bottomRight
。roles
虽然您可以topLeft.row
轻松地使用 来确定索引,但我发现无法有效地评估以 a 给出的角色,QVector<int>
而对于 QML 的使用 aQVector<string>
将是有利的。更糟糕的是,roleNames
, 在 C++ 中可用,返回角色的整数表示到表示角色名称的相应字符串的映射。
幸运的是,我的角色数量有限,所以我可能会处理它。但是如果 QML 能给我我如此拼命寻找的信息,那就太好了。;-)
因此,也许您有一个不需要 C++ 的解决方案(我可能会创建一个 ProxyModel,然后为我公开 roleNames())