设置表头
QTableView支持表头功能,分为横向和纵向(horizontalHeader/verticalHeader)
若不启用表头,则:
ui->tableView->horizontalHeader()->setVisible(false);
启用表头:
ui->tableView->horizontalHeader()->setVisible(true);
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);//设置表头内容位置
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//设置表头列宽,例中为平分充满
若要启用表头的点击事件,需要创建QHeaderView对象。
QHeaderView *headerview = new QHeaderView(Qt::Horizontal);
headerview->setSectionsClickable(true);
connect(headerview,&QHeaderView::sectionClicked,this,&This::headerclick);
ui->tablieView->setHorizontalHeader(headerview);
//在QStandardItemModel中设置表头内容
model->setHeaderData(0,Qt::Horizontal,"序号");
model->setHeaderData(1,Qt::Horizontal,"时间");
ui->tableView->horizontalHeader()->setStretchLastSection(true);//设置最后一列填充满剩余表格
设置首列
QTableView首列加复选框
利用QStandardItem
QStandardItem *item = new QStandardItem;
item->setCheckable(true);
item->setCheckState(Qt::Unchecked);
item->setText(QString::num(i));
//将item添加进QStandardItemModel
model->setItem(a,b,item);//a行,b列