【问题标题】:How to use specific syntax with C++/Qt?如何在 C++/Qt 中使用特定语法?
【发布时间】:2015-01-30 11:50:15
【问题描述】:

在 Qt/QML 中,我们在模型中有这样的语法:

ListModel {
    ListElement {name: 'Willian'; age: 21;}
}

// And we can access the values with this syntax
model.get(x).name // With each key in list

但是我的模型是使用QStandartItemModel 在 Qt 中创建的,我想访问它作为 QML 模型,但是我不知道该怎么做。我曾想过运算符重载,但operator .(点)中不存在开销。

我知道我们可以通过data(const QModelIndex & index, int role = Qt::DisplayRole) 访问QStandartItemModel,但是QML 版本更加明确。

有人知道如何做到这一点吗?

【问题讨论】:

    标签: c++ qt qml models


    【解决方案1】:

    您应该使用roleNames 方法使某些属性在 QML 中可见。它允许您将自定义显示角色 (int) 绑定到人类可读的名称(从 QML 中可见)。

    整篇文章可以在here 找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      相关资源
      最近更新 更多