qt用C++表格勾选checkbox获取行信息
时间: 2023-06-13 18:09:22 浏览: 54
你可以通过以下方式实现:
1. 添加一个 QCheckBox 列到表格中,可以使用 QTableWidget::setCellWidget() 函数实现。
2. 在 QCheckBox 的 stateChanged() 信号中,通过 QTableWidget::cellWidget() 函数获取 QCheckBox 所在的行索引。
3. 使用 QTableWidget::item() 函数获取所选行中的其他项的值。
下面是一个示例代码:
```cpp
// 添加 QCheckBox 列
QCheckBox *checkBox = new QCheckBox();
ui->tableWidget->setCellWidget(row, column, checkBox);
// 连接信号槽
connect(checkBox, &QCheckBox::stateChanged, this, [=](int state){
if (state == Qt::Checked) {
// 获取所选行索引
int row = ui->tableWidget->rowAt(ui->tableWidget->currentIndex().row());
// 获取其他项的值
QTableWidgetItem *item1 = ui->tableWidget->item(row, 0);
QTableWidgetItem *item2 = ui->tableWidget->item(row, 1);
// 处理获取到的值
}
});
```
其中,row 和 column 分别表示 QCheckBox 所在的行和列索引,可以根据实际情况进行修改。