如何访问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
}
}
}
截至此类似问题“How do you access the roles of the currentItem from a listview in QML?”我尝试了所有类型的组合model
,modelData
,currentItem
以及类似model.role
的内容。< / p>
如果我完全删除了委托,频率会正确显示。模型基于QAbstractListModel
。任何提示?
顺便说一下,我可以在QML中看到调试委托中可用的属性吗?
- 根据Kakadu的评论进行编辑 -
delegate {
Text {
text: "freq is " + frequency
}
}
给了我:ReferenceError: frequency is not defined
答案 0 :(得分:6)
delegate: Text { text: view.model.get(styleData.row).frequency }
答案 1 :(得分:4)
你必须在te QAbstractItemModel中定义角色。
QHash YourClassModel :: roleNames()const {
roles[Qt::UserRole + 1] = "frequency"; return roles;
}
答案 2 :(得分:3)