1

我有少量行和大约 10 列的 QTableView。我为verticalHeader() 设置了QHeaderView::ResizeToContents resizeMode。但它仅适用于可见行。例如,如果 tableView 向右滚动并且某些数据已更改,则行高会变小。在 tableView 向后滚动之后,行的高度对于以前不可见的单元格来说仍然太小了。我发现重新实现 sizeHintForRow(int row) 可以解决问题。但我找不到使用顶级函数计算单元格高度(包括不可见单元格)的好方法......

我可以使用原始的 QTableView::sizeHintForRow()。我只需要改变它的一小部分。但它调用 d->viewOptionsV4()。在我的例子中,我只能得到 QStyleOptionViewItemV1。但是,让这个对象为 itemDelegate 计算正确的 sizeHint 是不够的。

关于计算单元高度的最佳方法有什么想法吗?

4

1 回答 1

0

好的,我重新实现了 QTableView::sizeHintForRow()。尺寸提示的计算方式与原始方法相同,但为此我必须借助 viewOptions() 方法和其他设置来初始化 QStyleOptionViewItemV4。

你有更好的解决方案吗?

于 2012-04-13T16:14:36.390 回答