我设计有QMainWindow设计师一个QtCreator's。它由一个包含在它与所有其它小QWidget默认中央物件(一QVBoxLayout)的。现在,我想要的一切,就是QVBoxLayout自动占据整个中央部件矩形空间。

我怎样才能做到这一点?我没有找到在中央部件属性也不QVBoxLayout's那些任何可用的属性既不。

有帮助吗?

解决方案

您不必手动创建QVBoxLayout。只需选择您的中心QWidget并按下一个化妆布局按钮。

“替代文字”

其他提示

如果你想用代码而不是使用QtCreator做到这一点,你可以在一个QWidget设置布局,然后设置QWidget像这样在主窗口的中央物件:

#include <QtGui>
#include <QWidget>
#include <QHBoxLayout>
#include "mainwindow.h"

MainWindow::MainWindow() {  

        // Set layout
        QHBoxLayout *layout = new QHBoxLayout;
        layout->addWidget(myWidget1);
        layout->addWidget(myWidget2);

        // Set layout in QWidget
        QWidget *window = new QWidget();
        window->setLayout(layout);

        // Set QWidget as the central layout of the main window
        setCentralWidget(window);

}

添加至少一个小部件的MainWindow。然后通过点击选择你的窗口,然后点击按钮VerticalLayoutQTCreator的顶部。你垂直版面被自动添加到中央部件并填充所有的表面上。

此已回答,但我个人喜欢保持所有控制元件手动添加到形式布局。我不加控制的类文件,我仅挂钩的信号/插槽隐藏/显示部件相关的类中的逻辑,所述类中。

要的布局手动添加在任何部件必须先添加至少一个子插件/控制。这是不完全清楚,我和我是想先添加布局。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top