Russian Qt Forum

Qt => Model-View (MV) => Тема начата: uri от Январь 14, 2011, 15:16



Название: Узнать границы контента в QTableView
Отправлено: uri от Январь 14, 2011, 15:16
Здравствуйте!

Есть ли способ узнать координаты краёв последней ячейки таблицы (места, где заканчиваются линии и начинается белое поле) у QTableView?

Пытался сделать это через метод visualRect(), но, видимо потому, что виджет в этот момент не отображается на экране штатными средствами Qt, он для любого индекса возвращает QRect нулевого размера.

В голову лезут всякие ужасы типа рендеринга виджета в картинку и поиска на ней последней чёрной точки, но есть ведь, наверное, более человеческий способ?

Способ должен быть совместим с Qt 4.2 (специфика заказчика, увы).


Название: Re: Узнать границы контента в QTableView
Отправлено: _govorilka от Январь 14, 2011, 15:39
Посмотри в сторону QAbstractItemDelegate. Через этот класс ячейки будут рисоваться...


Название: Re: Узнать границы контента в QTableView
Отправлено: uri от Февраль 10, 2011, 13:40
Отвечаю сам себе.

Решение нашлось во Frozen Column Example из официальной документации: надо смотреть на размеры verticalHeader и horizontalHeader.