1、设置行列与表头
QStringList a;
a<< "姓名"<<"性别"<<"年龄"<<"爱好"<<"家庭住址"<<"电话";
ui.tableWidget->setRowCount(3);//设置行数
ui.tableWidget->setColumnCount(6);//设置列数
ui.tableWidget->setHorizontalHeaderLabels(a);//批量设置表头(行)
//获取行数与列数
qDebug() <<"行数:"<< ui.tableWidget->rowCount()<<"列数:" << ui.tableWidget->columnCount();
// 1、先设置自适应宽度,再单独设置某一列的宽度规则
ui.tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //先自适应宽度
// 2、然后,单独设置某一列根据内容调整宽度,或者单独设置某一列为固定宽度
ui.tableWidget->horizontalHeader()->setSectionResizeMode(5, QHeaderView::ResizeToContents);
ui.tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);
ui.tableWidget->setColumnWidth(2, 200);
2、设置单元格
//设置单元格
QTableWidgetItem* nameItem = new QTableWidgetItem("小明");
nameItem->setTextAlignment(Qt::AlignCenter);//设置内容水平居中
ui.tableWidget->setItem(0, 0, nameItem);
ui.tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//设置单元格不可编辑
/* QAbstractItemView::NoEditTriggers 0 不可编辑
QAbstractItemView::CurrentChanged 1 当切换单元格时
QAbstractItemView::DoubleClicked 2 当双击单元格时
QAbstractItemView::SelectedClicked 4 当单击一个已选中的单元格时
QAbstractItemView::EditKeyPressed 8 当一个单元格获取焦点,按编辑按键时(F2)
QAbstractItemView::AnyKeyPressed 16 当一个单元格获取焦点,按任意键时
QAbstractItemView::AllEditTriggers 31 以上所有条件的组合。(31 = 1|2|4|8|16)
*/
ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
/*
QAbstractItemView::SelectItems 0 选中单元格
QAbstractItemView::SelectRows 1 选中单元格所在行
QAbstractItemView::SelectColumns 2 选中单元格所在列
QAbstractItemView::NoSelection 0 不可选择
QAbstractItemView::SingleSelection 1 单行选择,一次只允许选择一行
QAbstractItemView::MultiSelection 2 多行选择,鼠标单击就可以选择多行
QAbstractItemView::ExtendedSelection 3 扩展选择,按shift键选中一个范围内的行,ctrl键可以选中不相邻的行
QAbstractItemView::ContiguousSelection 4 相邻选择,按shift键或ctrl键都可以选中一个范围内的行
*/