行数が少なく、約10列のQTableViewがあります。verticalHeader() に QHeaderView::ResizeToContents resizeMode を設定しました。ただし、表示されている行に対してのみ機能します。たとえば、tableView が右にスクロールされ、一部のデータが変更された場合、行の高さが小さくなります。また、tableView がスクロールバックされた後、行の高さがセルに対して小さすぎるままになり、以前は表示されませんでした。sizeHintForRow(int row) を再実装すると問題が解決することがわかりました。しかし、トップレベル関数を使用してセル (非表示のセルを含む) の高さを計算する良い方法が見つかりません...
元の QTableView::sizeHintForRow() を使用できます。私はそれのほんの一部を変更する必要があります。しかし、d->viewOptionsV4() を呼び出します。私の場合、QStyleOptionViewItemV1 しか取得できません。しかし、itemDelegate の正しい sizeHint を計算するには、このオブジェクトを持つだけでは十分ではありません。
セルの高さを計算する最良の方法について何か考えはありますか?