gpt4 book ai didi

qt - 如何为 QAbstractListModel 派生模型实现 QML ListModel 之类的 get 方法

转载 作者:行者123 更新时间:2023-12-04 01:23:44 24 4
gpt4 key购买 nike

我想在 QML 中使用 QAbstractListModel 派生模型。将模型绑定(bind)到 View 已经很有效了。

我想要实现的下一件事是访问特定项目及其角色的能力,就像使用 QML ListModel 一样

grid.model.get(index).DisplayRole

但我不知道如何在我的 QAbstractListModel 派生模型中实现这个 get 方法。

有什么提示吗?

最佳答案

另一种方法是直接使用 QAbstractItemModel 的内置函数。 ,例如通过

grid.model.data(grid.model.index(index, 0), 0 /*== Qt::DisplayRole*/)

这在技术上是可行的,但需要用户知道角色的数字代码,而不是指定字符串。这里的主要问题是充其量只有内置功能来确定 roleNames()。 .为了将名称字符串正确映射到相应的数值,需要实现一个反相函数并使用 Q_INVOKABLE 公开它。或处理 QHash源自 roleNames()手动在 QML 中。

关于qt - 如何为 QAbstractListModel 派生模型实现 QML ListModel 之类的 get 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22711421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com