Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Hrundel от Июль 19, 2015, 13:53



Название: Как отключить отрисовку пунктирного бокса при выделении айтема?
Отправлено: Hrundel от Июль 19, 2015, 13:53
Всем привет,

есть вопрос как отключить отрисовку пунктирного бокса при выделении айтема? При этом есть необходимость чтобы флаг QGraphicsItem::ItemIsSelectable оставался true, но отрисовка бокса при выборе либо не включалась, либо заменить своей.

Спасибо за варианты и помощь.


Название: Re: Как отключить отрисовку пунктирного бокса при выделении айтема?
Отправлено: Fregloin от Июль 20, 2015, 14:21
писать свой делегат и в нем переопределять отрисовку элемента.


Название: Re: Как отключить отрисовку пунктирного бокса при выделении айтема?
Отправлено: Hrundel от Июль 20, 2015, 15:33
У QGraphicsItem есть делегаты?  :o ???

Цитировать
The QGraphicsItem class is the base class for all graphical items in a QGraphicsScene.


Название: Re: Как отключить отрисовку пунктирного бокса при выделении айтема?
Отправлено: Igors от Июль 20, 2015, 16:12
Неск месяцев назад это обсуждалось, отрисовка эта типа hard-coded, причем только для стандартных айтемов. Поэтому вариантов немного: унаследоваться и в перекрытом рисовании:

снять флаг
вызвать родительское рисование
поставить флаг
возможно дорисовать свой select


Название: Re: Как отключить отрисовку пунктирного бокса при выделении айтема?
Отправлено: Hrundel от Июль 20, 2015, 19:14
Спасибо, Игорь. Ответ очень однозначный. Значит двинемся этим путем.


Название: Re: Как отключить отрисовку пунктирного бокса при выделении айтема?
Отправлено: Fregloin от Июль 21, 2015, 10:43
ой, извините, я перепутал с элементами в моделях  ::)


Название: Re: Как отключить отрисовку пунктирного бокса при выделении айтема?
Отправлено: Hrundel от Июль 21, 2015, 22:34
ой, извините, я перепутал с элементами в моделях  ::)

Да не парься.