Hello, All !

I developed class,

Qt Code:
  1. class XGisCanvasView : public QtCanvasView
  2. {
  3. private:
  4. Q_OBJECT
  5. public:
  6. XGisCanvasView (QWidget *parent=NULL);
  7. virtual ~XGisCanvasView (void);
  8.  
  9. QPoint getPos (void) const { return scr; }
  10.  
  11. signals:
  12. void contentsMouseMove (QMouseEvent *e);
  13. void mousePress (QMouseEvent *e);
  14. void mouseRelease (QMouseEvent *e);
  15. void mouseDoubleClick (QMouseEvent *e);
  16. void mouseContextMenu (QContextMenuEvent *e);
  17. void resize (QResizeEvent *e);
  18.  
  19. protected:
  20. virtual void contentsMouseMoveEvent (QMouseEvent *e);
  21. virtual void contentsMousePressEvent (QMouseEvent *e);
  22. virtual void contentsMouseReleaseEvent (QMouseEvent *e);
  23. virtual void contentsMouseDoubleClickEvent (QMouseEvent *e);
  24. virtual void contentsContextMenuEvent (QContextMenuEvent *e);
  25. virtual void resizeEvent (QResizeEvent *e);
  26.  
  27. private:
  28. QPoint scr;
  29. QtCanvas* pCanvas;
  30. };
To copy to clipboard, switch view to plain text mode 

wsview.cpp
Qt Code:
  1. XGisCanvasView :: XGisCanvasView(QWidget *parent/*=NULL*/) : QtCanvasView (parent), scr (QPoint(0, 0))
  2. {
  3. setMouseTracking ( true );
  4. viewport()->setMouseTracking ( true );
  5.  
  6. int x = width();
  7. int y = height();
  8. if ( parent )
  9. {
  10. x = parent->width();
  11. y = parent->height();
  12. }
  13. qDebug ("width = %d height = %d", x, y);
  14. pCanvas = new QtCanvas ( );
  15. qDebug ("QtCanvas init");
  16. pCanvas->resize (x, y);
  17.  
  18. setCanvas( pCanvas );
  19. qDebug ("QtCanvas set");
  20. this->canvas()->update();
  21. bool isTrace = hasMouseTracking();
  22. bool isVTrace = viewport()->hasMouseTracking();
  23. if ( isTrace )
  24. qDebug ("Mouse tracking is on");
  25. else
  26. qDebug ("Mouse tracking is off");
  27. if ( isVTrace )
  28. qDebug ("Viewport Mouse tracking is on");
  29. else
  30. qDebug ("Viewport Mouse tracking is off");
  31. }
To copy to clipboard, switch view to plain text mode 

After setCanvas() function variables isTrace and isVTrace are true, but event contentsMouseMoveEvent (QMouseEvent *e) does not generated.
If I comment setCanvas() function, all mouse movements are traced normally. Where is problem ?

Best regards,
Yuriy Rusinov.