Название: QGraphicScene + ItemIgnoresTransformations Отправлено: once_again_abc от Декабря 12, 2013, 06:17 Идея следующая: реализовать зум и выделять области поверх зума некоторым полигоном.
Пытаюсь сделать это следующим образом: 1. Класс-производный от QGraphicsView показывает QGraphicsScene 2. На этой QGraphicsScene есть несколько графических айтемов которые необходимо увеличивать. 3. На этой же QGraphicsScene есть QGraphicsPixmapItem с флагом ItemIgnoresTransformations, который должен содержать QPixmap с моим полигоном. Если делать без ItemIgnoresTransformations, то при увеличении линии полигона тоже увеличиваются и размываются, мне же нужна постоянная ширина линий в 1 пиксель правильно замапленный на увеличенную картинку, т.е. дуги полигона должны иметь правильный размер. Что-то я запутался в этих трансформациях. Как такую штуку можно сделать? Спасибо! Название: Re: QGraphicScene + ItemIgnoresTransformations Отправлено: _OLEGator_ от Декабря 12, 2013, 09:23 Чем стандартный функционал не устраивает?
Код
Название: Re: QGraphicScene + ItemIgnoresTransformations Отправлено: once_again_abc от Декабря 12, 2013, 11:34 посмотрел документаци и так и не понял как этим воспользоваться =(
Название: Re: QGraphicScene + ItemIgnoresTransformations Отправлено: _OLEGator_ от Декабря 12, 2013, 11:57 Устанавливаешь такой режим когда надо выделять элементы - появляется возможность выделять элементы с помощью прямоугольника.
Дальше ловишь selectionChanged() у сцены, если необходимо отслеживать изменения. Во вью уже реализованы механизмы выделения с помощью прямоугольника и всякое перемещение группы элементов - смысл писать свой велосипед? Название: Re: QGraphicScene + ItemIgnoresTransformations Отправлено: once_again_abc от Декабря 13, 2013, 02:32 Понятно, спасибо! К сожалению прямоугольник не подходит :'(, нужен полигон произвольной формы.
|