我的表单中目前有 3 个垂直布局。我想为用户提供通过拉伸它们来调整它们大小的选项。这可以通过垂直布局来实现吗?
问问题
127 次
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 回答