Qt QVBoxLayout:如何将布局划分为固定高度的框?

3
我希望按照以下方式分割我的窗口。
    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,因此无法使用表单设计器。

是否有任何VVBoxLayout属性可以用来实现这一点?或者使用这个VVBoxLayout是错误的,如果是这样,请建议一个替代方案。

谢谢和问候, Atul.

1个回答

3
为了让QVBoxLayout在两个元素之间保持固定比例,在addWidget中给它们分配stretch参数。一个值为N的stretch参数,是另一个值为Y的stretch参数的x倍,这将使得相应的小部件的高度比另一个小部件高x倍。

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