Ich erstelle manuell eine Qt-Anwendung in C++ mit QMainWindow. Ich möchte zwei nebeneinander angedockte Widgets am unteren Bildschirmrand, aber ich möchte, dass sie überproportional breit sind. Momentan kann ich nur erreichen, dass sie dieselbe Breite haben. Gibt es eine Möglichkeit, einen Stretch-Faktor oder einen anderen Mechanismus einzustellen, um ungleichmäßige Dock-Splits zu erhalten?QDockWidget Dehnungsfaktor für QMainWindow :: splitDockWidget?
Hier ist, wie ich sie bin zur Zeit auf:
OutputPanel* outputPanel = new OutputPanel;
mainWindow.addDockWidget(Qt::BottomDockWidgetArea, outputPanel);
ThumbnailViewer* thumbnailViewer = new ThumbnailViewer;
mainWindow.splitDockWidget(outputPanel, thumbnailViewer, Qt::Horizontal);
Hier ist ein Bild von dem, was ich erreichen möchte:
Dank!
Danke für die Antwort! Das ist ein interessanter Ansatz - ich hatte das nicht berücksichtigt. Ich bin ein bisschen besorgt darüber, was passieren würde, wenn jemand einen dieser beiden Docks (_dockA/_dockB) abdockt und an anderer Stelle auf dem QMainWindow wieder schließt. Zumindest würde es Eigentumsprobleme geben. Nach dem Posten stolperte ich über [QMainWindow :: resizeDocks] (http://doc.qt.io/qt-5/qmainwindow.html#resizeDocks). Leider funktioniert das nicht für diesen Anwendungsfall. Wenn ich versuche, meinen ThumbnailViewer in horizontaler Richtung zu skalieren, verkleinere ich ihn nur vertikal ... –
Yea resizeDocks sieht vielversprechender aus. Ich konnte das schaffen. Ich werde meine Antwort mit dem, was ich gefunden habe, aktualisieren, falls es nützlich ist. – vincent
Danke - das ist großartig! ResizeDocks funktionierte ursprünglich nicht gut für mich - Ihr Beispiel machte mir klar, dass ich meine resizeDocks Anrufe nach dem Aufruf von show() setzen musste. Das zu raten ist, weil ich Side Panels involviert habe, und hier gibt es Probleme bei der Größenanpassung. –