Hi Bart

This solution doesn't work for dialogs. For dockwidgets, yes, the event occurs at the end of a drag-move in the way you describe. However, for dialogs, the moveEvent is triggered at every point along its move.

You have no way of telling when the move is finished (ie. the mouse button has been released).

This difference in behaviour is shown graphically in that a drag-moved dockwidget is shown by a rubberband and only visually updated when you release the mouse button; whereas when you move a dialog, its full appearance is updated at every point along the move.

However, I need to use dialogs and not dock widgets in this case due to particular style effects which don't work for dockwidgets.

If only you could tell when a dialog drag-move was over, the implementation would be straightforward. All I need is to be able to interrogate the status of the mouse button but I can't see how to do this at all. Mouse events occuring over the frame of a window seem completely hidden.