如何设置QHBoxLayout的固定高度?

3

这是我的构造函数:

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个回答

3

只需将您的groupBox的verticalPolicy设置为fixed即可。

您可以使用

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

要查看更多选项和信息,请访问此链接

。这与IT技术有关,但我无法提供更多上下文。

0

我不确定我正确地理解了您的意思。您似乎有一点误解了。pathGroupBoxLayout是pathGroupBox内部的布局,它并不控制pathGroupBox的大小。您不能也肯定不想“固定”pathGroupBoxLayout的大小。

如果您希望pathGroupBox不要自动调整大小,您需要为其(而不是布局)指定一个固定的大小。使用pathGroupBox->setFixedHeight()方法即可。


好主意,但我必须向这个方法提供一个参数...我想让它自动调整大小,然后永远不再调整大小。因此,我应该向setFixedHeight提供当前大小,但当我使用pathGroupBox->height()时,组框变得巨大。 - user2429940

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接