4

如何访问 a 中的当前项目TableViewColumn

TableView {
    id: atcTableView
    model: myatclist
    ...
    TableViewColumn {
        ...
    }
    TableViewColumn {
        id: atcTableViewColFreq
        role: "frequency"
        title: "Frequency"
        width: 120
        delegate: Component {
            Text {
                text: "Freq is " + currentItem / model / model.frequency
            }
        }
    }

对于这个类似的问题“您如何从 QML 中的列表视图访问 currentItem 的角色? ”我尝试了各种组合model,, modelData,currentItem和类似的东西model.role

如果我完全删除代表,频率显示正确。模型基于QAbstractListModel. 有什么提示吗?

顺便说一句,我可以在 QML 调试中看到委托中可用的属性吗?

-- 根据卡卡杜的评论编辑 --

        delegate {
            Text {
                text: "freq is " + frequency
            }
        }

给我:ReferenceError: frequency is not defined

4

3 回答 3

6
delegate: Text { text: view.model.get(styleData.row).frequency }
于 2014-11-07T20:28:08.710 回答
4

尝试使用 styleData.value:

delegate: {
   Text { text: styleData.value }
}

这里有描述(查找 itemDelegate 属性)

于 2013-10-29T10:20:17.133 回答
4

您必须在 QAbstractItemModel 中定义角色。

QHash YourClassModel::roleNames() const {

roles[Qt::UserRole + 1] = "frequency";
return roles; 

}

于 2013-10-31T09:29:06.760 回答