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