使用带有布局的QSplitter

时间:2015-04-02 10:04:59

标签: qt

在我的应用程序中,我在顶部有一个树视图,上面有一些与树视图相关的按钮。在这下面我有一个表格视图,再次与一些相关的按钮。我有一个顶部和底部的QVBoxLayout。

请参阅屏幕显示。

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

我希望能够拖动屏幕截图中红线所在的位置。

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

有办法做到这一点吗?

Layout showing where I'd like a splitter

1 个答案:

答案 0 :(得分:13)

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

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);