开发者

MDI model or Dock Windows?

In the QT applic开发者_运维知识库ation 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?


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜