QTableView表头、首列增加复选框

设置表头

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列

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