当前位置: 代码迷 >> 综合 >> QT 【tableWidget】的使用详情
  详细解决方案

QT 【tableWidget】的使用详情

热度:37   发布时间:2024-01-26 01:02:18.0

介绍

  • QTableWidget类 提供了一个标准的表格显示工具,该表格中的每一项都是由 QTableWidgetItem的对象进行填充。
  • 如果要使用自已的数据模型来填充表格,应该使用 QTableView 类,而不是此类。

使用

  • 1.在QT 的基础控件中,有 Table Widget 控件,直接拖拽放在界面中就能直接操作该对象了。
  • 2.通过 ui->tablewidget 就能使用该类的其他方法了。

设置表格有一行一列。

// 设置表格有一行一列。
ui->tablewidget->setRowCount(1);
ui->tablewidget->setColumnCount(1);

设置 第一列 列宽 为 300

// 设置 第一列 列宽 为 300
ui->tablewidget->setColumnWidth(0,300);

设置表头

// 创建一个字符串列表 存储表头
QStringList listHeader;
listHeader<<"用户id"<<"用户昵称";
ui->tablewidget->setHorizontalHeaderLabels(listHeader);

单击选中整行

//单击选中整行
ui->tablewidget>setSelectionMode(QAbstractItemView::SingleSelection);
ui->table_widget->setSelectionBehavior(QAbstractItemView::SelectRows);

表格列宽度自适应

ui->tablewidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

禁止双击单元格修改数据

 ui->tablewidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

获取当前的行数,然后插入新的一行,并填充数据

// 获取当前的行数
int row = ui->tablewidget->rowCount();
// 插入新的一行
ui->tablewidget->insertRow(row);
// 填充数据 最新一行的第一列填充一项为hello的文本。
ui->table_widget->setItem(row,0,new QTableWidgetItem("hello"));// 也可以先创建 QTableWidgetItem的对象 item0,设置item0的值,在进行填充QTableWidgetItem *item0 = new QTableWidgetItem();item0->setText("hello");ui->table_widget->setItem(row,0,item0);

双击一行所对应的槽函数

connect(ui->table_widget,&QTableWidget::cellDoubleClicked,this,&Widget::get_item_data);

在使用该控件的过程中,主要是对每一个单元格进行数据填充,如果要填充很多行很多列的数据,可以在 循环里进行,只需改变填充的数据就行。该类还有更多的一些方法,暂时没有用到,用到以后再进行补充。

  相关解决方案