Bonjour,
Sous Qt 5.4.1, j'ai créé un projet de test pour voir comment fonctionnent les QDockWidget dans une QMainWindow.
Je suis parti d'un code très simple :
A l'exécution, j'ai donc ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 QDockWidget* dockWidget1 = new QDockWidget("top"); anotherMainWindow->addDockWidget(Qt::TopDockWidgetArea, dockWidget1); QDockWidget* dockWidget2 = new QDockWidget("left"); anotherMainWindow->addDockWidget(Qt::LeftDockWidgetArea, dockWidget2); setDockNestingEnabled(true);
Jusqu'ici rien d'exceptionnel, mon dockWidget2 paraît juste en dessous du dockWidget1 puisque la zone droite n'est pas utilisée.
J'essaie alors de jouer avec le drag&drop en déplaçant le dockWidget2 à gauche du dockWidget1 :
J'ai désormais mes deux dockWidget sur une seule ligne (en l'occurrence la zone top).
Maintenant, que se passe-t-il si j'essaie de déplacer à nouveau le dockWidget2 en dessous du premier ?
Rien. C'est comme si la zone left avait disparu au moment de déplacer pour la première fois le dockWidget2 et n'était plus accessible.
Comment faire alors pour que l'utilisateur puisse à tout moment venir drag&droper les dockWidgets dans n'importe quelle zone ?
Merci![]()
Partager