创建一个model类,继承于QAbstractListModel。
如果创建的只读模型,只需要重写
int rowCount(const QModelIndex &parent = QModelIndex()) const;
QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation,int role = Qt::DisplayRole) const; 注:如果是list的数据,则不需要columncount();
其中data用于数据的显示,headerData用于表头的显示。
如果还需要对model进行编辑,则还需要
flags(),setData(),insertRows,removeRows()等函数。
对于继承于QItemDelegate 的代理,必须重载
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
void setEditorData(QWidget *editor, const QModelIndex &index) const;
void setModelData(QWidget *editor, QAbstractItemModel *model,const QModelIndex &index) const;
void updateEditorGeometry(QWidget *editor, const QStyleOptionView