Just wanted to close this off with the two different solutions I eventually came up with:
First option - use EvevntFilter()
The code I used is based on the following reference:
qt-fluid.zip

Second option was to subclass a widget and rewrite its mouse event functions:
Qt Code:
  1. class dispFrame : public QFrame
  2. {
  3. Q_OBJECT
  4.  
  5. public:
  6. explicit dispFrame(QWidget* parent = 0, Qt::WindowFlags f = 0);
  7. ~dispFrame(){}
  8.  
  9. protected:
  10. /* PIP frame*/
  11. int MouseX;
  12. int MouseY;
  13.  
  14. private:
  15. void mousePressEvent(QMouseEvent *);
  16. void mouseMoveEvent(QMouseEvent *);
  17. };
  18.  
  19. void dispFrame::mousePressEvent(QMouseEvent *evt)
  20. {
  21. MouseX = evt->x();
  22. MouseY = evt->y();
  23. }
  24.  
  25.  
  26. void dispFrame::mouseMoveEvent(QMouseEvent *evt)
  27. {
  28. int newX = this->x() - (MouseX - evt->x());
  29. int newY = this->y() - (MouseY - evt->y());
  30.  
  31. this->setGeometry(newX, newY, this->width(), this->height());
  32. }
To copy to clipboard, switch view to plain text mode