crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Elfinit
  опции профиля:
сообщение 25.7.2009, 16:29
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Есть QGraphicsScene, на которой куча ThumbnailItem'ов - наследников QGraphicsPixmapItem.
Под каждым из которых может выводиться список "интерактивных элементов". Как пример - пиктограмм фотобанков, на которые была отправлена фотка.
Отрисовывать их как обычные QPixmap в ThumbnailItem::paint не составляет труда, НО - они должны быть "интерактивными". Т.е., как минимум, должны реагировать на наведение на них курсора, показывая некий тултип. А в идеале - реагировать на нажатие, запрос контекстного меню и т.п.
Эти "фенечки" должны быть жёстко привязаны к своему ThumbnailItem, так что вариант делать их самих QGraphicsItem - ооочень сложно реализуем. Т.к. координаты их зависят от своего THumbnailItem, "информационная нагрузка" - тоже. К тому же, сцена иногда меняет режим отображения и все ThumbnailItem'ы нужно скрыть, так что "фенечки" должны изчезать вместе с ними. Другой пример сложности реализации их как независимого QGraphicsItem - ресайз сцены или резайз самих эскизов. См. скриншот, там внизу сцены ползунок, которым можно регулировать размер эскизов.
Так что нужна жёсткая привязка этих штучек к ThumbnailItem.
Есть какие-нить соображения?)
Эскизы прикрепленных изображений
 РЈРјРµРЅСЊС€РµРЅРѕ РґРѕ 42%
Прикрепленное изображение
456 x 144 (9.14 килобайт)
 РЈРјРµРЅСЊС€РµРЅРѕ РґРѕ 68%
Прикрепленное изображение
827 x 824 (84.7 килобайт)
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Elfinit
  опции профиля:
сообщение 25.7.2009, 20:03
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


По первому варианту - я и так уже отлавливаю события наведения, нажатия и т.п. для ThumbnailItem и в зависимости от стэйтов меняю, например, вид тени и цвет прямоугольника вокруг картинки. НО. ThumbnailItem - это только сама картинка, всё, что "рядом" с ней - а это те же "фенечки" и фоновый подсвеченный прямоугольник - "географически" к нему не относятся. Т.е. при наведении на пиктограммку стэйт самого ThumbnailItem по-прежнему останется стандартным (ну или isSelected, если до этого он был выделен). Т.е. если идти по пути проверки нахождения курсора в прямоугольнике - нужно анализировать его координаты и координаты пиктограммы относительно сцены. А это не вариант.
Попутно вопрос - можно ли для QGraphicsPixmapItem аставить генерироваться hoverEvent'ы, если курсор проползает не только над самим айтемом, но в некоторой области около него?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 18.7.2025, 0:51