If you want widgets that can be moved using the mouse, you can implement the movement directly in the mouse event handler methods.
The Drag&Drop classes are for transferring data, often across different applications (e.g. from a file manager to a program that should open these files).

In the most usual cases widget locations and sizes are managed by layouts, which position and resize child widgets within their parent's boundaries.
But you can manage that yourself of course.

I guess it depends on what you are trying to achieve, i.e. whether QGraphicsView is a better approach or not.

Cheers,
_