如何在QT中为扩展布局QVBoxLayout提供用户选项

时间:2013-09-11 16:01:37

标签: c++ qt

我目前在表单中有3个垂直布局。我想通过拉伸它们为用户提供根据自己的喜好调整大小的选项。这可以通过垂直布局来实现吗?

2 个答案:

答案 0 :(得分:0)

如前所述,您可以使用QSplitter。即使无法通过Designer添加它,也有办法解决。在窗口小部件中创建这些框架(没有布局),在cpp和h文件中,您将这样做:

标题中的

,写

class YourClass : public QSplitter

代替

class YourClass : public QWidget

并在构造函数

中替换cpp中的这些声明
QWidget(parent)

QSplitter(parent)

我猜它确实(或者几乎可能需要进行其他一些更改,因为添加包含文件)。

编辑:此时使用QMainWindow类中的代码:

QSpliter *splitter = new QSplitter(this) //or declare 'splitter' in .h file.
splitter->setOrientation(Qt::Vertical);
splitter->addWidget(widget1); 
splitter->addWidget(widget2);
splitter->addWidget(widget3);

setCentralWidget(splitter);

答案 1 :(得分:0)

从4.8.6开始,可以通过在分割器布局选项中使用 Laying [水平/垂直]布局在Qt Designer中添加QSplitter。它有点令人惊讶,它没有在小部件框中列出,但您可以使用它。