J'ai une application avec trois widgets de quai. Ceux-ci sont créés par le code suivant:Déchiffrer trois QDockWidgets par programme
dock = new QDockWidget(tr("Some title"));
dock->setWidget(some_widget);
dock->setContextMenuPolicy(Qt::PreventContextMenu);
dock->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable);
addDockWidget(Qt::TopDockWidgetArea, dock);
dock2
et dock3
sont ensuite tabified par
tabifyDockWidget(dock1, dock2);
tabifyDockWidget(dock2, dock3);
La fenêtre ressemble alors à ceci:
Je peux arranger le côté des docks côte à côte en les faisant glisser et en les faisant glisser, de sorte que la fenêtre ressemble à ceci:
Je voudrais faire cela par programme, mais je ne peux pas comprendre comment. Lorsque vous effectuez un
splitDockWidget(dock1, dock2, Qt::Horizontal);
rien ne se passe. Quand vous faites
splitDockWidget(dock1, dock2, Qt::Vertical);
dock1
et dock2
disparaissent, et seulement dock3
est encore visible:
Après avoir fait glisser manuellement hors de la fenêtre principale et à l'arrière, la fenêtre ressemble à ceci:
Alors qu'est-ce que je fais mal ici?
Cela me donne même résultat avec la différence que je ne vois dock3 au lieu de DOCK1, mais les deux autres docks ne sont toujours pas visibles ... de plus, les quais ne peuvent plus être alignés de gauche à droite à la main. –