//设置表格列数(增加3列)
ui->tableWidget->setColumnCount(3);
//设置表格行数(增加2行)
ui->tableWidget->setRowCount(2);
//获取总的行数
int rowcount=ui->tableWidget->rowCount();
//设置表头水平名称
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"标记ID"<<"标记类型"<<"标记内容");
QStringList headerlabels;
headerlabels<<"姓名"<<"性别"<<"生日"<<"婚否"<<"住址";
ui->tableWidget->setHorizontalHeaderLabels(headerlabels);
//设置表头的纵向名称
ui->tableWidget->setVerticalHeaderLabels(QStringList()<<"ID");
//设置表格中选中行的背景颜色
ui->tableWidget->setStyleSheet("selection-background-color:color");
//设置行高
ui->tableWidget->verticalHeader()->setDefaultSectionSize(36);
//设置列表宽度不改变
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);
//设置隔行变色
ui->tableWidget->setAlternatingRowColors(true);
//每次选中整行
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
枚举:
参数 | 值 | 描述 |
---|---|---|
QAbstractItemView::SelectItems | 0 | 选中单个单元格 |
QAbstractItemView::SelectRows | 1 | 选中一行 |
QAbstractItemView::SelectColumns | 2 | 选中一列 |
//把选中模式设为单选,即每次只选中一行,而不能选中多行
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
枚举:
参数 | 值 | 描述 |
---|---|---|
QAbstractItemView::NoSelection | 0 | 不能选择 |
QAbstractItemView::SingleSelection | 1 | 选中单个目标 |
QAbstractItemView::MultiSelection | 2 | 选中多个目标 |
QAbstractItemView::ExtendedSelection | 3 | – |
QAbstractItemView::ContiguousSelection | 4 | 主要功能是正常情况下是单选,但按下Ctrl或Shift键后,可以多选 |
//设置末尾一列自动拉伸
ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
//设置不能进行编辑
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
枚举:
参数 | 值 | 描述 |
---|---|---|
QAbstractItemView::NoEditTriggers | 0 | 不能对表格内容进行修改 |
QAbstractItemView::CurrentChanged | 1 | 任何时候都能对单元格修改 |
QAbstractItemView::DoubleClicked | 2 | 双击单元格 |
QAbstractItemView::SelectedClicked | 4 | 单击已选中的内容 |
QAbstractItemView::EditKeyPressed | 8 | 在项目上按下平台编辑键时,开始编辑。 |
QAbstractItemView::AnyKeyPressed | 16 | 按下任意键就能修改 |
QAbstractItemView::AllEditTriggers | 31 | 以上条件全包括 |
//开启自动排序
//开启排序
ui->tableWidget->setSortingEnabled(true);
//sortByColumn()参数:指定列 升序Qt::AscendingOrder 降序Qt::DescendingOrder
ui->tableWidget->sortByColumn(0,Qt::AscendingOrder);
//隐藏行头或者列头
//隐藏列头
ui->tableWidget->verticalHeader()->hide();
//隐藏行头
ui->tableWidget->horizontalHeader()->hide();
//在该列下添加新行
//获取当前行
int row=ui->tableWidget->currentRow();
//添加行 在该行下添加行
ui->tableWidget->insertRow(row+1);
//删除选中的行
int row=ui->tableWidget->currentRow();
ui->tableWidget->removeRow(row);
//设置搜索框的背景文字
ui->lineEdit->setPlaceholderText("这是搜索框的背景文字");