Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MDI model or Dock Windows?

Tags:

qt

qt4

mdi

docking

In the QT application we develop we need to display several 'Viewer windows' (to display data in XY plane, YX plane, XZ plane and in 3D).

We were hoping to use MDI application model, but later the client asked for a requirement to drag and view 'Viewer windows' in multiple desktops (using multiple monitors). This can not be done using MDI window model, because we cannot move MDI window outside the Main Application Window.

Only possible way is to use Dock windows because they can be undocked from Main Application Window and move into other desktops, but Dock windows primary used for tool-palettes or utility windows.

(http://doc.qt.nokia.com/4.6/qdockwidget.html#details)

Is it a good practice to use Dock window for our requirement?

like image 734
Ashika Umanga Umagiliya Avatar asked Jun 01 '10 03:06

Ashika Umanga Umagiliya


1 Answers

I would not use the QDockWindow since it seems you will not use the client area. In addition, you don't want docking to the MainWindow borders but just added the widget to the MainWindow.

I think you can try to use multiple QWidget with a QGridLayout. When dragging QWidget outside of the MainWindow, just remove QWidget from the layout. When dragging inside the MainWindow add the QWidget to the right place in the QGridLayout. With this method you can too switch widget's places into the Main Window.

I don't know if it is clear enough but I'm thinking to the same way it is done in QtDesigner when dragging new elements into a layout. When dragging widgets you can see the place where it will be added when releasing the mouse button.

In my mind this method can be the one you are searching for.

Hope that helps

like image 141
Patrice Bernassola Avatar answered Oct 02 '22 07:10

Patrice Bernassola