Qtablewidget使用QHeaderView设置表头

前言

在使用QtableWidget时当设置表头时,我们经常用到的函数是,setHorizontalHeaderLabels。但是如果我们对表头有一些特殊要求。比如说表头添加一个复选框,网络上的解决方案一般都是继承于QHaderView然后重写 paintSection方法。那么我们就必须使用继承于 QHeaderView的对象来设置表头了也就是要使用QTableWidgetsetHorizontalHeader方法来设置表头。那么我们可以通过以下方法来设置QTableWidget的表头

核心代码

   /*
   因为 QHeaderView 也是属于 model/view 模式所以需要一个model来提供数据供 QHeaderView来显示
   */
   ui->tableWidget->setColumnCount(3);
   QHeaderView* view = new QHeaderView(Qt::Horizontal);
   QStandardItemModel* model = new QStandardItemModel;
   QStringList labels;
   labels << QStringLiteral("姓名") << QStringLiteral("年级") << QStringLiteral("学号");
   model->setHorizontalHeaderLabels(labels);
   view->setModel(model);
   ui->tableWidget->setHorizontalHeader(view);

效果图

Qtablewidget使用QHeaderView设置表头_第1张图片

你可能感兴趣的:(我的QT,qt,开发语言)