在我的应用程序中,我在顶部有一个树形 View ,上面有一些与树形 View 相关的按钮。在此下方,我有一个表格 View ,并带有一些与之相关的按钮。我有一个QVBoxLayout顶部和底部。

请看屏幕显示。

我想做的是能够以QPlitter允许的方式调整顶部和底部的大小。但是... QSplitter仅接受小部件,而不接受布局。

我希望能够将其拖动到屏幕截图中红线的位置。

我在C++中而不是在设计器中创建布局。

有没有办法做到这一点?

最佳答案

将您的小部件包装在另一个小部件中,如下所示:

Splitter
 ├──Top Widget
 │   └──Layout 1
 │       ├──Button 1
 │       ├──Button 2
 │       └──Text Area 1
 └──Bottom Widget
     └──Layout 2
         ├──Button 3
         ├──Button 4
         └──Text Area 2

例子:
QWidget *topWidget = new QWidget;
topWidget->setLayout(layout1);
...
splitter->addWidget(topWidget);
splitter->addWidget(bottomWidget);

10-08 11:40