Russian Qt Forum
Ноябрь 23, 2024, 00:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] QGraphicsItem, эффект выделения.  (Прочитано 5120 раз)
Sahab
Гость
« : Ноябрь 26, 2014, 21:37 »

Есть элменты на вьюхе, которые должны иметь эффект выделения - пиксель-два опреленного цвета окантовывающие форму итема (на скрине видно).
Проблема в том что, итемы может иметь произвользную форму (svg).
Есть идеи каким образом это реализовать?

имеется вариант смахивающий на анальное вторжение, хотелось бы услышать мнение сторонних разрабов.
« Последнее редактирование: Ноябрь 27, 2014, 14:04 от Sahab » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Ноябрь 27, 2014, 08:58 »

Добавь айтему QGraphicsDropShadowEffect.
Записан

Qt 5.11/4.8.7 (X11/Win)
Sahab
Гость
« Ответ #2 : Ноябрь 27, 2014, 13:09 »

Это будет сдвинутая тень, мне же нужно чтобы кант был по всей форме.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Ноябрь 27, 2014, 13:16 »

Это будет сдвинутая тень
Ну да, если не сбросишь QGraphicsDropShadowEffect::offset.
Записан

Qt 5.11/4.8.7 (X11/Win)
Sahab
Гость
« Ответ #4 : Ноябрь 27, 2014, 13:36 »

Если оффсет будет 0, ее не видно будет, какой толк тогда с нее?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Ноябрь 27, 2014, 13:41 »

Мде... что-то совсем ленивый народ пошел Грустный
Почему бы не увеличить blurRadius, коли он по дефолту 1 Непонимающий
Записан

Qt 5.11/4.8.7 (X11/Win)
Sahab
Гость
« Ответ #6 : Ноябрь 27, 2014, 13:45 »

Перед тем как писать необоснованные тирады, может сначала сами попробуете, то что написали?
Я, например, так и сделал... в обоих смыслах
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #7 : Ноябрь 27, 2014, 13:55 »

Перед тем как писать необоснованные тирады, может сначала сами попробуете, то что написали?
Не пробовал бы - не советовал бы.
Код
C++ (Qt)
GraphicsItem::setBorder()
{
QGraphicsDropShadowEffect* border = new QGraphicsDropShadowEffect( scene() );
border->setColor( QColor( 0, 0, 0, 255 ) );
border->setOffset( QPointF( 0, 0 ) );
setGraphicsEffect( border );
border->setBlurRadius( 8 );
}
Записан

Qt 5.11/4.8.7 (X11/Win)
Sahab
Гость
« Ответ #8 : Ноябрь 27, 2014, 14:03 »

При выбранном мною цвете видно стало после блюра > 18-20.
Я же пробовал 5-6, поэтому и не заметил.
Благодарю на ответ.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 23.