一、效果图
二、工程构造思路
利用MVC视图模型,QTableView 定义视图对象,QAbstractTableModel 构造数据组织方式,QStyledItemDelegate 实现表格数据样式代理,QHeaderView 实现表头数据样式代理。
三、代码片段
#include "tablewidget.h"
#include "ui_tablewidget.h"
#include <QAbstractItemView>
tableWidget::tableWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::tableWidget)
{
ui->setupUi(this);
tableview *view = new tableview(this);
tablemodel *model = new tablemodel(this);
tabledelegate *delegate = new tabledelegate(this);
headdelegate *hdelegate = new headdelegate(Qt::Horizontal,view);
view->setModel(model);
view->setItemDelegate(delegate);
view->setHorizontalHeader(hdelegate);
view->setFocusPolicy(Qt::NoFocus);
ui->horizontalLayout->addWidget(view);
view->verticalHeader()->hide();
view->horizontalHeader()->setHighlightSections(