4

で現在のアイテムにアクセスする方法は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ました。modelDatacurrentItemmodel.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

QAbstractItemModel でロールを定義する必要があります。

QHash YourClassModel::roleNames() const {

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

}

于 2013-10-31T09:29:06.760 に答える