我有少量行和大约 10 列的 QTableView。我为verticalHeader() 设置了QHeaderView::ResizeToContents resizeMode。但它仅适用于可见行。例如,如果 tableView 向右滚动并且某些数据已更改,则行高会变小。在 tableView 向后滚动之后,行的高度对于以前不可见的单元格来说仍然太小了。我发现重新实现 sizeHintForRow(int row) 可以解决问题。但我找不到使用顶级函数计算单元格高度(包括不可见单元格)的好方法......
我可以使用原始的 QTableView::sizeHintForRow()。我只需要改变它的一小部分。但它调用 d->viewOptionsV4()。在我的例子中,我只能得到 QStyleOptionViewItemV1。但是,让这个对象为 itemDelegate 计算正确的 sizeHint 是不够的。
关于计算单元高度的最佳方法有什么想法吗?