如何获得QHBoxLayout固定高度

How to get a QHBoxLayout fixed height?

本文关键字:高度 QHBoxLayout 何获得      更新时间:2023-10-16

这是我的构造函数:

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的大小。

只需将groupBox的verticalPolicy设置为fixed。

你可以使用

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

有关更多选项和信息,请查看此链接

不确定我是否正确理解你。你好像有点错了。pathGroupBoxLayout是pathGroupBox内部的布局。我不控制您的pathGroupBox的大小。您不能也肯定不想"修复"pathGroupBoxLayout的大小。

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