Qt的Model/View模式相当强大,下面我们就来看一个QTableView运用QAbstractTableModel的例子。
由于QAbstractTableModel是个抽象类,所以必须自己重新写一个类来继承它。
下面就是我自己写的一个类TableView
头文件:TableModel.h
#ifndef TABLEMODEL_H
#define TABLEMODEL_H
#include <QAbstractTableModel>
class TableModel : public QAbstractTableModel
{
Q_OBJECT
public:
explicit TableModel(QObject *parent = 0);
/**
* @brief rowCount 虚函数,重写
* @param parent
* @return 返回table的行
*/
virtual int rowCount(const QModelIndex &parent) const;
/**
* @brief columnCount 虚函数,重写
* @param parent
* @return 返回table的列
*/
virtual int columnCount(const QModelIndex &parent) const;
/**
* @brief data 虚函数,重写
* @param index
* @param role 控制每个Index的角色
* @return 返回每个Index的值
*/
virtual QVariant data(const QModelIndex &index,