2015-04-02 58 views
3

在我的应用程序中,我在顶部有一个树形视图,上面有一些与树形视图相关的按钮。在这个下面我有一个表格视图,同样有一些与它相关的按钮。我有一个QVBoxLayout顶部和底部。在布局中使用QSplitter

请参阅屏幕显示。

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

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

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

有没有办法做到这一点?

Layout showing where I'd like a splitter

回答

7

包装你的小部件其他窗口里面,像这样:

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

最佳方案见过! – Tay2510 2015-04-02 10:17:50

+0

谢谢,svlasov。顶部小部件和底部小部件可能是什么?只是一个QWidget?我如何将布局添加到该小部件? – 2015-04-02 10:25:30

+0

只是一个普通的'QWidget'。 – svlasov 2015-04-02 10:26:32