tablewidget.h
#include <QTableView>
class QStandardItemModel;
class TableWidget : public QTableView
{
Q_OBJECT
public slots:
void dataChangedSlot(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int> ());
public:
TableWidget(QWidget *parent = 0);
QStandardItemModel* model;
~TableWidget();
};
tablewidget.cpp
#include "tablewidget.h"
#include <QStandardItemModel>
#include <QDebug>
TableWidget::TableWidget(QWidget *parent)
: QTableView(parent)
{
model = new QStandardItemModel(this);
model->setColumnCount(6);
model->setHeaderData(0,Qt::Horizontal, "时间");
model->setHeaderData(1,Qt::Horizontal, "学生");
model->setHeaderData(2,Qt::Horizontal, "上线时间");
model->setHeaderData(3,Qt::Horizontal, "下线时间");
model->setHeaderData(4,Qt::Horizontal, "状态");
model->setHeaderData(5,Qt::Horizontal, "班级");
//model->setRowCount(3);
//model->setHeaderData(0,Qt::Vertical, "记录一");
//model->setHeaderData(1,Qt::Vertical, "记录二");
//model->setHeaderData(2,Qt::Vertical, "记录三");
this->setModel(model);
this->setShowGrid(false); // 隐藏网格线
this->setFocusPolicy(Qt::NoFocus); // 去除当前Cell周边虚线框
this->setAlternatingRowColors(true); // 开启隔行异色
connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)), this, SLOT(dataChangedSlot(QModelIndex,QModelIndex,QVector<int>)));
this->setModel(model);
}
void TableWidget::dataChangedSlot(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles)
{
qDebug() << model->data(topLeft).toString() << endl;
}
TableWidget::~TableWidget()
{
}