You might need to do some clever hack for dock widget drag and drop.. you can extract the widget from QDockWidget and set it as a child of QFrame..
then on drag event, you can again set the widget as child of QDockWidget.....

it might not be easy,,, but thats what came to my mind