在qt中,用到最多就是model/view的结构来表示数据层及表示层的关系。model用于给view提供数据。那如何来实现一个简单的树形model呢。
实现一个自己的model需要重载以下的方法:
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
int rowCount(const QModelIndex &parent = QModelIndex()) const;
int columnCount(const QModelIndex &parent = QModelIndex()) const<pre name="code" class="cpp">QVariant headerData(int section, Qt::Orientation orientation,
int role = Qt::DisplayRole) const;
bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value,
int role = Qt::EditRole);
QModelIndex index(int row, int column,
const QModelIndex &parent = QModelIndex()) const;
QModelIndex parent(const QModelIndex &child) const;
virtual Qt::ItemFlags flags(const QModelIndex &i

在Qt的开发中,model/view架构是数据和视图间交互的基础。本文聚焦于如何创建一个自定义的树形model,着重介绍需要重载的关键方法,包括data、setData、rowCount、columnCount、headerData、index、parent和flags等,以实现数据的获取、设置、布局及编辑功能。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



