Всем привет. У меня есть QAbstractTableModel и QTableView. Последний столбец вертикально ресайзится под контент. Полосы прокрутки отключены. У меня программа должна показать первые N строк до конца таблицы без обрезки последней строки. Строки все разных размеров по высоте. Через некоторое время мне надо программно листнуть эту таблицу дальше.
Вроде бы все понятно, кроме одного нюанса. Как сделать так, чтобы отобразить видимые строки в таблице и чтобы последняя видимая строка не была на половину или частично обрезанной и как посчитать кол-во видимых строк?
Отвечу на свой же вопрос. После того как в модели появились данные, то узнаем высоту таблицы:
int height = ui->tableView->height() - ui->tableView->horizontalHeader()->height();
Потом у каждой строки первой ячейку узнаю высоту
countHeight += ui->tableView->visualRect(model->index(i, 0)).height();
Суммирую высоту. Как только высота ячеек превышает высоту таблицы, то все остальные строки в таблице скрываю.
Постраничное автоматическое переключение в модели сделал методом скрытия/раскрытия строк