数据是一个集合,显示也是一个集合。例如一篇《西游记》的文章,所有的文字就是数据集合,展示方式就是显示的集合,可以以书本的形式,也可以以电纸书的形式,更可以用视频的方式展现。
下面是将一个二维数组中的数据显示到TableView控件中。
1.声明一个model类,继承于QAbstractTableModel
#define ROW 3
#define COL 2
class TableModel : public QAbstractTableModel
{
Q_OBJECT
public:
TableModel(QObject *parent = 0);
~TableModel();
//QAbstractTableModel 中3个必须重新实现的虚函数
int rowCount(const QModelIndex & parent = QModelIndex()) const;
int columnCount(const QModelIndex & parent = QModelIndex()) const;
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
private:
int num[ROW][COL];
int nn;
};
2.方法实现
TableModel::TableModel(QObject *parent) :QAbstractTableModel(parent)
{
//二维数初始化,从100开始
nn = 100;
for(int i=0;i<ROW;++i){
for(int j=0;j<COL;++j){
num[i][j] = nn;
++nn;
}
}
}
TableModel::~TableModel

本文深入探讨了Qt中的Model/View架构,通过实例展示了如何创建一个继承自QAbstractTableModel的自定义model,将二维数组数据绑定到QTableView进行显示。目前的实现仅涉及数据的读取,后续将介绍如何实现数据操作。
最低0.47元/天 解锁文章
1万+

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



