У меня такое подозрения что тролли сталкивались с этой задачей
Смотрел исходники Qt. Много думал... Там сильные навороты, связанные с QAbstractModelView. Точного механизма работы скроллеров и хедеров я так и не понял.
Почему я не могу использовать QTableView? Мне видиться слишком сложным переопределять кучу разных механизмов, чтобы добиться относительно простого частного случая. В частности нужны:
- разделительные линии разной толщины для разных столбцов,
- нестандартное оформление выделенной области,
- вывод дополнительных графических знаков в ячейку,
- вывод текста разными цветами в одну ячейку,
- сложное объединение ячеек,
- нестандартный виджет ввода данных.
Как минимум здесь нужно переопределять:
- QAbstractTableModel - собственно данные,
- возиться с объединением ячеек,
- стили для нестандартного выделения,
- QAbstractItemDelegate для отображения,
- Виджет редактора для ввода данных,
- наверное еще что-то...
На таком пути я запнулся на разделительных линии разной толщины для разных столбцов.
Собственно уточнение вопроса: скроллеры уже есть на QAbstractScrollArea. Осталось правильно разместить заголовок таблицы и связать изменение размеров всего виджета и QHeaderView?