Название: QGraphicsScene - выделение объектов Отправлено: Иволга от Ноябрь 18, 2015, 18:47 Я располагаю на сцене объекты QGraphicsPathItem. Как спрятать стандартную рамку при выделении этих объектов (я использую свою в виде QGraphicsRectItem)?
Название: Re: QGraphicsScene - выделение объектов Отправлено: GreatSnake от Ноябрь 18, 2015, 19:02 Либо не рисовать её либо не выставлять QGraphicsItem::ItemIsSelectable флаг.
Название: Re: QGraphicsScene - выделение объектов Отправлено: Иволга от Ноябрь 18, 2015, 19:04 Я не о том немного. Мне надо выделять объекты моей рамкой, а вот стандартная мне не нужна. Как сделать, чтобы она не появлялась? Чтобы появлялась только моя.
Название: Re: QGraphicsScene - выделение объектов Отправлено: GreatSnake от Ноябрь 18, 2015, 19:06 Я не о том немного. Мне надо выделять объекты моей рамкой, а вот стандартная мне не нужна. Как сделать, чтобы она не появлялась? Чтобы появлялась только моя. Что значит "моя рамка"? Кем она отрисовывается?Название: Re: QGraphicsScene - выделение объектов Отправлено: Иволга от Ноябрь 18, 2015, 19:10 Как QGraphicsRectItem (в первом сообщении написано). Она привязана к объекту через некий класс, и когда объект выбирается. она становится видимой. Но при этом и стандартная рамка появляется, а она мне не нужна.
Название: Re: QGraphicsScene - выделение объектов Отправлено: GreatSnake от Ноябрь 18, 2015, 19:13 Не вижу ответа на вопрос "Кем она отрисовывается?"
Название: Re: QGraphicsScene - выделение объектов Отправлено: Иволга от Ноябрь 18, 2015, 19:16 Она отрисована мной при создании основного объекта, а затем спрятана. Когда сцена порождает сигнал selectionChanged(), я проверяю все объекты, показываю рамки у тех, что выделены (isSelected() = true) и прячу у остальных.
Название: Re: QGraphicsScene - выделение объектов Отправлено: GreatSnake от Ноябрь 18, 2015, 19:18 Код
Название: Re: QGraphicsScene - выделение объектов Отправлено: Иволга от Ноябрь 18, 2015, 19:21 Спасибо. Завтра попробую применить.
Название: Re: QGraphicsScene - выделение объектов Отправлено: AzazelloAV от Ноябрь 18, 2015, 20:03 Я не о том немного. Мне надо выделять объекты моей рамкой, а вот стандартная мне не нужна. Как сделать, чтобы она не появлялась? Чтобы появлялась только моя. Не помню точно где и как, если надо, подыщу. Прорисовка осуществляется в функции qt_graphicsItem_highlightSelected() Я делал так. Перед вызовом данной функции удалял флаг прорисовки селекта, затем восстанавливал а рамку отрисовывал в drawForeground. Не привязаны к итему, можно всякие стрелочки рисовать вне итема и т.д., а также групповой селект общей рамкой, а не каждая выделенная. P.S. Может найдёте полезное http://www.prog.org.ru/topic_28597_0.html Название: Re: QGraphicsScene - выделение объектов Отправлено: Иволга от Ноябрь 19, 2015, 10:10 А как правильно наследника в сцену добавлять? Метод QGraphicsScene::addPath создаёт экземпляр базового класса, и перегруженный метод paint для него не вызывается.
Название: Re: QGraphicsScene - выделение объектов Отправлено: GreatSnake от Ноябрь 19, 2015, 11:07 Хм.. странный вопрос...
Код
Название: Re: QGraphicsScene - выделение объектов Отправлено: Иволга от Ноябрь 19, 2015, 15:43 Получилось. ;D
|