0
私は手動でQMainWindowを使用してC++でQtアプリケーションをレイアウトしています。画面の下部に2つのサイドバイサイドドッキングウィジェットが必要ですが、幅が不均衡になるようにしたいと思います。現在、私はそれらに同じ幅しか持たせることができません。不均一なドックスプリットを得るためのストレッチファクターやその他のメカニズムを設定する方法はありますか?QMainWindow :: splitDockWidgetのQDockWidgetストレッチ係数?
は、ここで私は現在、それらをレイアウトしています方法は次のとおりです。
OutputPanel* outputPanel = new OutputPanel;
mainWindow.addDockWidget(Qt::BottomDockWidgetArea, outputPanel);
ThumbnailViewer* thumbnailViewer = new ThumbnailViewer;
mainWindow.splitDockWidget(outputPanel, thumbnailViewer, Qt::Horizontal);
ありがとう!
お返事ありがとうございます!それは興味深いアプローチです - 私はそれを考慮していませんでした。誰かがその2つのドック(_dockA/_dockB)の1つをドッキング解除し、QMainWindowの別の場所に再配置した場合に起こることに少し気になります。最低限、所有権の問題があります。 投稿後、私は[QMainWindow :: resizeDocks](http://doc.qt.io/qt-5/qmainwindow.html#resizeDocks)を見つけました。残念ながら、これはこのユースケースでは機能しません。水平方向にサムネイルビューアのサイズを変更しようとすると、垂直方向にサイズが変更されます... –
はいresizeDocksはさらに有望です。私はそれを働かせることができました。私はその有用な場合に私が見つけたもので私の答えを更新します。 – vincent
ありがとう - これは素晴らしいです! resizeDocksは元々うまくいきませんでした。あなたの例では、resizeDocksをshow()呼び出しの後に置く必要があることがわかりました。これは、私がサイドパネルを持っているからだと思います。ここでは、自動サイジングの問題があります。 –