При нажатой кнопке мышки (mousePressEvent) в наследнике QGraphicsScene не срабатывает mouseMoveEvent
class MyGraphicsScene : public QGraphicsScene
{
public:
MyGraphicsScene(QObject * parent = 0);
private:
void mousePressEvent ( QGraphicsSceneMouseEvent * event );
void mouseMoveEvent ( QGraphicsSceneMouseEvent * event );
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
QGraphicsItem *tempItem;
};
MyGraphicsScene ::MyGraphicsScene(QObject * parent ): QGraphicsScene(parent)
{
tempItem = 0;
};
void MyGraphicsScene :: mousePressEvent ( QGraphicsSceneMouseEvent * event )
{
tempItem = this->itemAt(event->pos());
bool s = true;
//последующие пять строк пробовал в разной комбинации
if (tempItem) tempItem->setAcceptDrops(s);
if (tempItem) tempItem->setAcceptHoverEvents (s);
if (tempItem) tempItem->setFlag(QGraphicsItem::ItemIsSelectable);
if (tempItem) tempItem->setFlag(QGraphicsItem::ItemIsMovable);
QGraphicsScene::mousePressEvent(event);
};
void MyGraphicsScene :: mouseMoveEvent ( QGraphicsSceneMouseEvent * event )
{
if (tempItem) {
tempItem->setPos(event->pos()); // ВОТ СЮДА НАДО ПОПАСТЬ, НО ЭТО НЕ ПОЛУЧАЕТСЯ
}
}
void MyGraphicsScene :: mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
tempItem = 0;
}