QTableWidget 使用

QTableWidget 使用

文章标签右键数据文字居中背景色可编辑文章分类其它其它阅读数99

ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);//选中一行

ui->tableWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);//可多选

ui->tableWidget->horizontalHeader()->setStyleSheet(“QHeaderView::section{background:skyblue;}”); //设置表头背景色

ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//设置只读

ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);//鼠标右键发出customContextMenuRequested信号

ui->tableWidget->verticalHeader()->setVisible(false); //隐藏行表头

ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//占满

ui->tableWidget->insertRow(ui->tableWidget->rowCount());//这是在最后面增加一行,在当前增加一行是使用currentRow

ui->tablelWidget->insertColumn(ui->tableWidget->columnCount());//在最后面增加一列,在当前增加一列是使用currentColumn

int rowCount = ui.tableWidget->rowCount() - 1;//获取总的行号

ui.tableWidget->setItem(rowCount, 0, new QTableWidgetItem(QString(内容)));//设置新增行的0列内容
ui.tableWidget->setItem(rowCount, 1, new QTableWidgetItem(QString(内容)));//设置新增行的1列内容

ui->tableWidget->setItem(行号,列号,new QTableWidgetItem(QString(内容))); //设置内容

ui->tableWidget->removeRow( int 行号);

ui->tableWidget->removeColumn(int 列号);

ui->tableWidget->resizeRowsToContents();//界面适应数据

ui->tableWidget->resizeColumnsToContents();

ui->tableWidget->scrollToBottom(); //显示最后一行

if(NULL==ui->tableWidget->item(i,j)) //判断tablewidget格子是否为空

//删除所有行

ui.tableWidget->clearContents();
ui.tableWidget->setRowCount(0);

ui->tableWidget->item(i, j)->setTextAlignment(Qt::AlignCenter); //设置文字居中

ui->tableWidget->horizontalHeader()->setSectionResizeMode(true); //设置均匀拉直表头

ui->tableWidget->horizontalHeader()->setStretchLastSection(true) ;//设置最后一列填充满表格

//表格中插入一个Check

QTableWidgetItem *check = new QTableWidgetItem;

check->setCheckState(Qt::Unchecked);
ui.tableWidget->setItem(0, 0, check);

if (ui.tableWidget->item(0, 0)->checkState() == Qt::Checked)

{

}

//设置表格相邻行颜色交替

ui->tableWidget->setAlternatingRowColors(true);

ui->tableWidget->setStyleSheet(“border 0px;color:#6b6d7b;alternate-background:white;”);

//设置选中没有虚线

QTableWidget{

outline:0px;

}

//设置表格文本居中

void mainwindow::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);//感觉效率不高
      }
    }
  }
}

//设置某些列指定宽度,同时某些列占满

ui->tableWidget->setColumnWidth(0, 200);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
ui->tableWidget->setColumnWidth(4, 200);
ui->tableWidget->resizeColumnsToContents();
ui->tableWidget->resizeRowsToContents();
ui->tableWidget->setWordWrap(true);

//设置某一个单元格不可编辑

QTableWidgetItem* pItemNum = pTableWidget->item(row, VALUE_1);

pItemNum->setFlags(pItemNum->flags() & 33);

//设置格式通用

void Mystack::setCommonTable(QTableWidget *tw)

{

tw->setSelectionBehavior(QAbstractItemView::SelectRows);
  1. tw->setEditTriggers(QAbstractItemView::NoEditTriggers);
  2. tw->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
  3. tw->verticalHeader()->setVisible(false);

}
//右键槽函数
void Mystack::tableWidget_customContextMenuRequested(const QPoint &pos)
1.
2.
3.
{
1.
登录后复制
tableWidget->exec(QCursor::pos());
1.
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值