1、不能对表格内容进行修改
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
设置某一列不可编辑
QTableWidgetItem *item1 = new QTableWidgetItem(“xxx”); //设置第1列不可编辑
item1->setFlags(item1->flags() & (~Qt::ItemIsEditable));
ui->tableWidget->setItem(i, 0, item1); //第0列不可编辑
2、设置表格为整行选择
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
3、设置隐藏表头和列头
ui->tableWidget->verticalHeader()->setVisible(false); //列
ui->tableWidget->horizontalHeader()->setVisible(false); //行
隐藏列
ui->tableWidget->setColumnHidden(i, true); // i表示第几列
4、加入控件
ui->tableWidget->setShowGrid(false); //关闭网格
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//选中一行
5、列可扩展
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); // 列可扩展
6、单元格字体居中
ui->tableWidget->item(i,j)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); // i代表行,j代表列
void Mymethod::setTableAligCenter(QTableWidget *tw)
{
int rowCount = tw->rowCount();
int columCount = tw->columnCount();
for(int row=0;row<rowCount;row++)
{
for(int colum=0;colum<columCount;colum++)
{
QTableWidgetItem* item = tw->item(row, colum);
if(item != nullptr)
{
item->setTextAlignment(Qt::AlignCenter);//感觉效率不高
}
}
}
}
7、获取行数和列数
ui->tableWidget->rowCount();
ui->tableWidget->columnCount();
8、右键使能,在给widget加菜单时,需要加入此行代码
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);