-1

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

4

2 回答 2

0

您可以使用 QSplitter 如前所述。即使设计师无法添加它,也有办法解决。在您的小部件(没有布局)中创建这些框架,并在您的 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);
于 2013-09-11T16:21:37.260 回答
0

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

于 2015-08-18T18:54:33.617 回答