レイアウトとサイズのポリシーに関しては、私はあまり得意ではありませんでしたので、これはおそらく簡単な答えですが、ここで説明します。
新しいタブを QTabWIdget に追加し、ウィジェットを QSplitter に設定すると、スプリッターは指定されたスペース全体を使用します。ただし、QSplitter を QWidget 内に配置し、QWidget を使用してタブを追加すると、指定されたスペースは使用されず、スプリッターのサイズのみが使用されます。
スプリッター内に必要なすべてのウィジェットがあるため、QLayout から離れたいと思います。QWidget にタブ内のすべてのスペースを使用させるだけです (QSplitter が QWIdget 内のすべてのスペースを使用できるようにする必要があります)。
比較と結果を示すサンプルを以下に作成しました。短い質問 - シナリオ 1 (「タブ 1」内) をシナリオ 2 (「タブ 2」) のように表示し、Spliiter に親 QWidget を使用するにはどうすればよいですか?
ui->setupUi(this);
QTabWidget* pTab = new QTabWidget(this);
this->setCentralWidget(pTab);
//Splitter belongs to a QWidget, which belongs to the Tab. Does not use all space
QWidget* pWidget = new QWidget(this);
QSplitter* pSplitter = new QSplitter(pWidget);
QListWidget* pList = new QListWidget(this);
QListWidget* pList2 = new QListWidget(this);
pSplitter->addWidget(pList);
pSplitter->addWidget(pList2);
pTab->addTab(pWidget, "Tab One");
//Splitter belongs to the Tab. Uses all space
QListWidget* pList3 = new QListWidget(this);
QListWidget* pList4 = new QListWidget(this);
QSplitter* pSplitter2 = new QSplitter(this);
pSplitter2->addWidget(pList3);
pSplitter2->addWidget(pList4);
pTab->addTab(pSplitter2, "Tab Two");