使用QT编写一个获取表格多个数据的行坐标
时间: 2023-12-03 20:45:47 浏览: 69
你可以使用QTableWidget类的findItems()方法来查找表格中的数据,并返回匹配的项的行坐标。
以下是一个示例代码,演示如何获取表格中多个数据的行坐标:
```cpp
// 获取表格中多个数据的行坐标
QList<int> getRowIndexes(QTableWidget* tableWidget, QList<QString> dataList)
{
QList<int> rowIndexes;
for(int i=0; i<tableWidget->rowCount(); i++) {
bool match = true;
for(int j=0; j<dataList.size(); j++) {
QTableWidgetItem* item = tableWidget->item(i, j);
if(item && item->text() != dataList[j]) {
match = false;
break;
}
}
if(match) {
rowIndexes.append(i);
}
}
return rowIndexes;
}
```
你可以将要查找的数据放在一个QString列表中,然后调用getRowIndexes()方法来获取匹配的行坐标。例如:
```cpp
// 查找表格中数据为"John Smith"和"Male"的行坐标
QList<QString> dataList;
dataList << "John Smith" << "Male";
QList<int> rowIndexes = getRowIndexes(tableWidget, dataList);
```
注意:这段代码假设每个单元格只包含一个QString类型的数据,如果单元格包含多个数据或者其他类型的数据,你需要修改相应的代码。
阅读全文