Название: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell Отправлено: spectre71 от Май 24, 2009, 11:55 Помогите реализовать!
Смотрите картинку с таблицей (сделано на C++ Builder) В колонке "Results" могут находиться несколько иконок (от 1 до 3 в данном случае) Размер иконки задан некоторым Rect в котором рисуется картинка. Задачи: 1) Редактирование клетки с иконками не предпологается 2) Отрисовка. Как и где рисовать иконки в CELL определяю я. 3) При наведении на конкретную иконку(не клетку) меняется курсор на заданный. Размер иконки задан некоторым Rect. Вне этого Rect курсор стандартный. 4) При наведении на конкретную иконку может показываться ToolTip определенный для нее. 5) При нажатии мышью(Mouse Press)на иконке посылается заданный сигнал. Нажатие одиночное. Данная клетка может быть не текущая и не выделенная. Но сигнал должен посылаться сразу после первого нажатия для конкретной иконки (определенной ее Rect) Название: Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell Отправлено: Admin от Май 28, 2009, 11:35 По поводу картинки в ячейки таблицы - у меня похожая задачка и как я понял нужно перегружать класс QAbstractItemDelegate
и реализовывывать собсвенную отрисовку. Я еще пока не приступал к этому. :( Название: Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell Отправлено: spectre71 от Май 28, 2009, 11:47 Да, перегружать QAbstractItemDelegate надо - мне только QAbstractItemDelegate::paint.
Это путкты 1 и 2 Но это не поможет для пунктов 3, 4, 5 Название: Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell Отправлено: Rcus от Май 28, 2009, 12:17 В голове одни велосипеды крутятся:
QAbstractItemView::indexWidget() или QAbstractItemView::openPersistentEditor() или QWidget::mouseTracking() + QAbstractItemView::indexAt() + QAbstractItemView::itemDelegate() и еще некоторые неоформившиеся варианты. Название: Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell Отправлено: Barmaglodd от Май 28, 2009, 12:43 Можно пример stardelegate посмотреть, но там работает только когда ячейка в режиме редактирования.
Название: Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell Отправлено: spectre71 от Май 28, 2009, 13:18 Можно пример stardelegate посмотреть, но там работает только когда ячейка в режиме редактирования. Внимательней читайте тему. Про редактирование речь не идетНазвание: Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell Отправлено: spectre71 от Май 28, 2009, 13:50 QAbstractItemView::indexWidget()
QAbstractItemView::openPersistentEditor() Слишком нерационально, у меня могут > 100000 rows QWidget::mouseTracking() + QAbstractItemView::indexAt() + QAbstractItemView::itemDelegate() Да я так и начал делать QAbstractItemView::itemDelegate() - на отрисовку QWidget::mouseTracking() + QAbstractItemView::indexAt() - на изменение состояния курсора итд. |