我想以下列方式划分我的窗口

    Build a vertical layout
    -------------------------
    |                       |
    -------------------------
    |                       |
    |                       |
    |                       |
    |                       |
    |                       |
    |                       |
    -------------------------

使用 QVBoxLayout。我想一直保持这个比例。我将禁用重新调整窗口大小。现在我有以下代码。
QVBoxLayout baseLayout = new QVBoxLayout(this);
QLabel *widget = new QLabel(NULL);
widget->setStyleSheet("background-color: rgb(0, 39, 118)");
widget->setGeometry(0,0,400, 30);
widget->setPixmap(QPixmap("Logo-Large.gif"));
baseLayout->addWidget(widget);

...

这将窗口分成相等的部分。我无法使用表单设计器,因为我正在动态构建此 UI。

QVBoxLayout 上是否有任何属性可用于实现此目的?或者使用这个 QVBoxLayout 是完全错误的,如果是这样,请提出替代方案。

谢谢并恭祝安康,
阿图尔。

最佳答案

要使 QVBoxLayout 保持两个元素之间的固定比例,请在 addWidget 中为它们提供拉伸(stretch)参数。 N 的拉伸(stretch)参数是另一个拉伸(stretch)参数 Y 的 x 倍,将使相应的小部件具有比其他小部件高 x 倍的高度。

关于c++ - Qt QVBoxLayout : How to divide the layout in fixed height Boxes?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11959342/

10-13 04:26