Russian Qt Forum
Ноябрь 24, 2024, 12:07
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell (Прочитано 5571 раз)
spectre71
Гость
QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
«
:
Май 24, 2009, 11:55 »
Помогите реализовать!
Смотрите картинку с таблицей (сделано на C++ Builder)
В колонке "Results" могут находиться несколько иконок (от 1 до 3 в данном случае)
Размер иконки задан некоторым Rect в котором рисуется картинка.
Задачи:
1) Редактирование клетки с иконками не предпологается
2) Отрисовка. Как и где рисовать иконки в CELL определяю я.
3) При наведении на конкретную иконку(не клетку) меняется курсор на заданный.
Размер иконки задан некоторым Rect. Вне этого Rect курсор стандартный.
4) При наведении на конкретную иконку может показываться ToolTip определенный для нее.
5) При нажатии мышью(Mouse Press)на иконке посылается заданный сигнал.
Нажатие одиночное. Данная клетка может быть не текущая и не выделенная.
Но сигнал должен посылаться сразу после первого нажатия для конкретной иконки (определенной ее Rect)
«
Последнее редактирование: Май 24, 2009, 12:05 от spectre71
»
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
«
Ответ #1 :
Май 28, 2009, 11:35 »
По поводу картинки в ячейки таблицы - у меня похожая задачка и как я понял нужно перегружать класс QAbstractItemDelegate
и реализовывывать собсвенную отрисовку. Я еще пока не приступал к этому.
Записан
spectre71
Гость
Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
«
Ответ #2 :
Май 28, 2009, 11:47 »
Да, перегружать QAbstractItemDelegate надо - мне только QAbstractItemDelegate::paint.
Это путкты 1 и 2
Но это не поможет для пунктов 3, 4, 5
Записан
Rcus
Гость
Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
«
Ответ #3 :
Май 28, 2009, 12:17 »
В голове одни велосипеды крутятся:
QAbstractItemView::indexWidget()
или
QAbstractItemView::openPersistentEditor()
или
QWidget::mouseTracking() + QAbstractItemView::indexAt() + QAbstractItemView::itemDelegate()
и еще некоторые неоформившиеся варианты.
Записан
Barmaglodd
Гость
Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
«
Ответ #4 :
Май 28, 2009, 12:43 »
Можно пример stardelegate посмотреть, но там работает только когда ячейка в режиме редактирования.
Записан
spectre71
Гость
Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
«
Ответ #5 :
Май 28, 2009, 13:18 »
Цитата: Barmaglodd от Май 28, 2009, 12:43
Можно пример stardelegate посмотреть, но там работает только когда ячейка в режиме редактирования.
Внимательней читайте тему. Про редактирование речь не идет
Записан
spectre71
Гость
Re: QTableView/QAbstractItemModel - Отрисовка иконок(объектов) в Cell
«
Ответ #6 :
Май 28, 2009, 13:50 »
QAbstractItemView::indexWidget()
QAbstractItemView::openPersistentEditor()
Слишком нерационально, у меня могут > 100000 rows
QWidget::mouseTracking() + QAbstractItemView::indexAt() + QAbstractItemView::itemDelegate()
Да я так и начал делать
QAbstractItemView::itemDelegate() - на отрисовку
QWidget::mouseTracking() + QAbstractItemView::indexAt() - на изменение состояния курсора итд.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...