QT 为什么 item->row(); 不返回合并左上角单元格
时间: 2024-02-28 10:54:45 浏览: 85
QT-TableWidget多个列和行,合并显示效果自
5星 · 资源好评率100%
在QT中,item->row()方法返回的是该项所在的行的索引,而不是该项所在的合并单元格的左上角单元格的行索引。因此,当该项所在的单元格是一个合并单元格时,该方法返回的是该项所在的合并单元格的最后一行的索引。如果你想获取该项所在的合并单元格的左上角单元格的行索引,你需要使用QTableWidget的verticalHeader()方法和span()方法来获取。具体实现可以参考以下代码:
```cpp
int row = tableWidget->row(item);
int col = tableWidget->column(item);
int rowSpan = tableWidget->verticalHeader()->span(row, col).rowCount();
int rowTop = row - rowSpan + 1;
```
其中,rowSpan返回该项所在的合并单元格所占据的行数,rowTop返回该合并单元格的左上角单元格的行索引。
阅读全文