如何获得QHBoxLayout固定高度?

时间:2013-08-25 20:27:07

标签: c++ qt

这是我的构造函数:

DiskUsage::DiskUsage() {
    pathLineEdit = new QLineEdit;
    generateButton = new QPushButton(tr("Generate"));

    pathGroupBoxLayout = new QHBoxLayout;
    pathGroupBoxLayout->addWidget(pathLineEdit);
    pathGroupBoxLayout->addWidget(generateButton);

    pathGroupBox = new QGroupBox(tr("Path"));
    pathGroupBox->setLayout(pathGroupBoxLayout);

    chartGroupBox = new QGroupBox(tr("Chart"));

    mainLayout = new QVBoxLayout;
    mainLayout->addWidget(pathGroupBox);
    mainLayout->addWidget(chartGroupBox);

    setLayout(mainLayout);
}

如何将pathGroupBoxLayout(QHBoxLayout)设为固定高度?我希望在窗口垂直调整大小时,只调整chartGroupBox的大小,而不是pathGroupBoxLayout。

2 个答案:

答案 0 :(得分:3)

只需将groupBox的verticalPolicy设置为fixed。

你可以使用

pathGroupBox->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Fixed);

了解更多选项和信息结帐this link

答案 1 :(得分:0)

不确定我是否理解正确。你似乎有点不对劲。 pathGroupBoxLayout是pathGroupBox中的布局。我不管道你的pathGroupBox的大小。您不能也肯定不想“修复”pathGroupBoxLayout的大小。

如果你想让你的pathGroupBox没有调整大小,你可以给它(不是布局)一个固定的大小。 pathGroupBox-> setFixedHeight()