Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: elive от Май 07, 2010, 13:42



Название: drag'n'drop между 2 сценами
Отправлено: elive от Май 07, 2010, 13:42
 Здравствуйте. Имеется 2 сцены соответственно в 2х видах(QGraphicsView). Необходимо перенести айтем из одной сцены в другую. Посмотрел dragrobot из примеров, но там осуществляется перенос между айтемами. То есть создаю айтем, в нём прописываю
Код
C++ (Qt)
 
void Item::mouseMoveEvent(QGraphicsSceneMouseEvent *event){
   QDrag *drag = new QDrag(event->widget());
   QMimeData *mime = new QMimeData;
   drag->setMimeData(mime);
   ...
   drag->exec();}
В виде создаю void View::dropEvent(QDropEvent *event) и разрешаю setAcceptDrops(true). Но при перетаскивании иконка остаётся перечёркнутой.
Если тоже самое прописать в айтеме, то всё хорошо.
Что делаю не так?


Название: Re: drag'n'drop между 2 сценами
Отправлено: _govorilka от Май 07, 2010, 20:07
Попробуй переопределить события у QGraphicsScene:

virtual void   dragEnterEvent ( QGraphicsSceneDragDropEvent * event )
virtual void   dragLeaveEvent ( QGraphicsSceneDragDropEvent * event )
virtual void   dragMoveEvent ( QGraphicsSceneDragDropEvent * event )


Название: Re: drag'n'drop между 2 сценами
Отправлено: elive от Май 11, 2010, 07:37
Попробуй переопределить события у QGraphicsScene:

virtual void   dragEnterEvent ( QGraphicsSceneDragDropEvent * event )
virtual void   dragLeaveEvent ( QGraphicsSceneDragDropEvent * event )
virtual void   dragMoveEvent ( QGraphicsSceneDragDropEvent * event )
Спасибо большое. Помогло.