qt create 取tablewidget一列数据,去除空和重复内容,举例
时间: 2024-03-22 18:42:09 浏览: 45
好的,您可以使用以下代码来实现:
```cpp
// 获取 tableWidget 的列数和行数
int rows = ui->tableWidget->rowCount();
int cols = ui->tableWidget->columnCount();
// 获取需要处理的列数,这里假设是第一列
int targetCol = 0;
// 创建一个 set 用于存储不重复的数据
QSet<QString> data;
// 遍历 tableWidget 中指定列的所有数据,去除空和重复内容
for (int i = 0; i < rows; i++) {
QTableWidgetItem* item = ui->tableWidget->item(i, targetCol);
if (item != nullptr) {
QString value = item->text();
if (!value.isEmpty()) {
data.insert(value);
}
}
}
// 将 set 中的数据重新写入 tableWidget 中指定的列
ui->tableWidget->clearContents();
int i = 0;
for (const auto& value : data) {
QTableWidgetItem* item = new QTableWidgetItem(value);
ui->tableWidget->setItem(i++, targetCol, item);
}
```
这段代码会获取 tableWidget 中第一列的所有数据,去除其中的空内容和重复内容,并将剩余的内容重新写入 tableWidget 中第一列。您可以根据需要修改代码中的目标列数和 tableWidget 对象指针。
阅读全文