我现在还不清楚代表制度。
我有一个QListView正确显示我的自定义模型。
我的模型由以下列组成:
第1,2和3列是文本列,使用QAbstractItem::setText();
第4,5,6和7列是自定义类的QVariant。这些列的项目已填充QAbstractItem::setData(QVariant::fromValue(MyCustomClass());
我需要从QListView中显示第1,2和3列的文本,并在第4,5,6和7列显示通过MyCustomClass方法获得的自定义QString。
我怎样才能做到这一点?
答案 0 :(得分:3)
使用QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelegate* delegate)
,docs。
你有自定义型号吗?如果您从自定义数据中删除所有文本,则可以更轻松地重新实现QAbstractItemModel::data(const QModelIndex& index, int role) const
,查询哪个列index
,如果是您的自定义数据列,则返回自定义数据列的显示角色数据文本;否则只需调用父实现。