QTableView 简单应用
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLzMjN4ATN1kDM2ITOwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
QStandardItemModel *model = new QStandardItemModel();
// /*设置列字段名*/
model->setColumnCount(2);
model->setHeaderData(0, Qt::Horizontal, QString::fromLocal8Bit("X"));
model->setHeaderData(1, Qt::Horizontal, QString::fromLocal8Bit("Y"));
// /*设置行字段名*/
model->setRowCount(2);
model->setHeaderData(0, Qt::Vertical, "记录一");
model->setHeaderData(1, Qt::Vertical, "记录二");
//*设置一条数据*/
model->setItem(0, 0, new QStandardItem("张三"));
model->setItem(0, 1, new QStandardItem("男"));
model->setItem(1, 0, new QStandardItem("张"));
model->setItem(1, 1, new QStandardItem("男一"));
ui.tableView->setModel(model);
ui.tableView->standItemModel->item(i,0)->setForeground(QBrush(QColor(255,0,0)));//设置字符颜色
ui.tableView->standItemModel->item(i,0)->setTextAlignment(Qt::AlignCenter); //设置表格内容居中
//设置表格属性
ui.tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter); //表头信息显示居中
ui.tableView->horizontalHeader()->setSectionResizeMode(0,QHeaderView::Fixed);//表头列宽不可变
ui.tableView->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Fixed);
ui.tableView->horizontalHeader()->setSectionResizeMode(2,QHeaderView::Stretch);//设定第2列表头
弹性拉伸
ui.tableView->setColumnWidth(0,100); //设定表格第0列宽度
ui.tableView->setColumnWidth(1,200);
ui.tableView->verticalHeader()->hide(); //隐藏默认显示的行头
ui.tableView->setSelectionBehavior(QAbstractItemView::SelectRows); //设置选中时整行选中
ui.tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置表格属性只读,不能编辑
ui.tableView->setContextMenuPolicy(Qt::CustomContextMenu); //需要在表格使用右键菜单,
需要启动该属性
ui.tableView->sortByColumn(0,Qt::AscendingOrder); //表格第0列,按降序排列
standItemModel->removeRows(0,10); //删除从第0行开始的连续10行
更多内容参考:https://blog.csdn.net/qq769651718/article/details/79357938