使用带有布局的QSplitter

Mic*_*ent 5 qt

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

请看屏幕显示.

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

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

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

有没有办法做到这一点?

布局显示我喜欢拆分器的位置

svl*_*sov 14

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

Splitter
 ???Top Widget
 ?   ???Layout 1
 ?       ???Button 1
 ?       ???Button 2
 ?       ???Text Area 1
 ???Bottom Widget
     ???Layout 2
         ???Button 3
         ???Button 4
         ???Text Area 2
Run Code Online (Sandbox Code Playgroud)

例:

QWidget *topWidget = new QWidget;
topWidget->setLayout(layout1);
...
splitter->addWidget(topWidget);
splitter->addWidget(bottomWidget);
Run Code Online (Sandbox Code Playgroud)

  • 有史以来最好的方案! (2认同)