gpt4 book ai didi

qt - 标签在 QVBoxLayout 中垂直扩展

转载 作者:行者123 更新时间:2023-12-04 10:18:27 25 4
gpt4 key购买 nike

我插入了 QLabel用一个小句子,一个QLineEditQPushButton ,按此顺序,变为 QVBoxLayout .我的主窗口是用户桌面的 70%。

我的问题是我的标签扩展到父窗口高度的近 80% 和 QLineEdit并且 `QButton\被挤压在底部。

我想出了解决这个问题的方法:我插入了更多没有内容的标签,但这不是黄金解决方案。我能做些什么?

我也试过QFormLayout但它不符合我的需要。我喜欢小部件按垂直顺序排列。我用 QSizePolicy 尝试了很多方法但它没有成功。

最佳答案

我认为您正在寻找的是添加一个间隔项目。尝试使用 addStretch 将所有小部件添加到布局后。

例子:

#include <QtGui>

class W: public QWidget
{
Q_OBJECT

public:
W(bool spacer, QWidget *parent = 0)
: QWidget(parent)
{
QLabel *l = new QLabel("Hello!");
QLineEdit *e = new QLineEdit;
QPushButton *p = new QPushButton("Go");

QVBoxLayout *vl = new QVBoxLayout;
vl->addWidget(l);
vl->addWidget(e);
vl->addWidget(p);

if (spacer)
vl->addStretch();

setLayout(vl);

resize(200, 400);
}
};

渲染:

enter image description here

(左侧不拉伸(stretch),右侧拉伸(stretch)。)

关于qt - 标签在 QVBoxLayout 中垂直扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16314580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com