Название: Передвижение QGraphicsItem Отправлено: sdwdd от Март 04, 2009, 05:05 Привет всем.
Имеется QGraphicsScene в котором лежит 2 QGraphicsItem. В первый загружается картинка с помощью QPixmap. Второй должен быть полупрозрачным прямоугольником который будет служить для выделения определенной области картинки с возможностью эту область перетаскивать мышкой. Для создания области выделения наследую QGraphicsRectItem: Код: SelectionArea::SelectionArea() Теперь нужно добавить в SelectionArea возможность перетаскивать его мышью в рамках родительской сцены. Начал вот копать в QGraphicsItem::dragEnterEvent и т.п., но похоже он предназначен для других целей, там к курсору бинядтся иконки по MIME-типу и все такое. Как можно реализовать передвижение SelectionArea? Спасибо. Название: Re: Передвижение QGraphicsItem Отправлено: sdwdd от Март 04, 2009, 05:10 Решено: setFlag(QGraphicsItem::ItemIsMovable, true);
:) Название: Re: Передвижение QGraphicsItem Отправлено: Khs от Март 04, 2009, 08:52 Спрошу свой вопросик, раз уж такая тема появилась, вроде к топику подходит :)
При передвижении QGraphicsItem (небольших размеров, на других не смарел) только у меня курсор "не поспевает" за позицией за которою был схвачем айтем? Т.е. я так понимаю дело в перерисовке чтоли. Думаю дело не в версии qt, смарел на нескольких. Наверно либо в железе (хотя посмотрел draw приложение на WPF (.Net), там такого не замечается), либо в необходимых флагах оптимизации (OptimizationFlags) и режима обновления (ViewportUpdateMode) QGraphicsView. Вроде поэкспериментировал с комбинациями :), но так и не нашел оптимальной. Только вроде при ViewportUpdateMode = FullViewportUpdate, курсор при передвижении айтема, держит позицию захвата, но не думаю что данный режим есть гуд (хотя каждый для своих целей я думаю) :) Хотя щас посмарел и при FullViewportUpdate такое ж вродь ;\, мож оно так и должно быть?! ??? |