标签: qvboxlayout

Qt删除QVBoxLayout上的小部件之间的空白空间

我有烦人的问题.我创建了QVBoxLayout,我添加了我的小部件.这是我的构造函数中的示例:

layout = new QVBoxLayout;
layout->setMargin(0);
layout->setContentsMargins(QMargins(0,0,0,0));
layout->setSpacing(0);
Run Code Online (Sandbox Code Playgroud)

然后我有添加小部件的功能.

layout->addWidget(_wave);
Run Code Online (Sandbox Code Playgroud)

_wave是我自己的小部件.但是你可以添加你想要的任何东西,例如QButton.

我想要实现什么? 类似这样,但没有任何空格beidgeween添加到布局.只是QButtons或其他小部件,相互粘贴.

我添加了setMargins,setSpacing等等.请帮助我,我真的不知道该怎么做.

在此输入图像描述

对不起颜色,但我想提到我想要实现的目标.我有mainWindow,我在其上添加了QWidget.这个小部件有蓝色背景.然后到布局,我添加了一些小部件,在这个图像上是橙色的.我只是想确定,小部件之间的这个蓝色背景是不可见的.我希望在widget下有widget,没有任何空间.

c++ qt spacing qvboxlayout

7
推荐指数
1
解决办法
9291
查看次数

启用自动换行的 QLabel 的垂直尺寸

我有一个QLabelQVBoxLayout. 大多数情况下,它只有一行文本,但有时,文本可能太长而无法容纳在一行中。所以我必须启用wordWrap.

我希望标签尽可能(垂直)小,因此我设置setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum).

现在,如果有足够的垂直空间,标签会更高,因为它必须只有一行:

启用自动换行的标签

在相同的窗口大小且未启用自动换行的情况下,标签仅占用我希望它占用的最小空间:

没有自动换行的标签

这也可以通过启用 wordWrap 并且独立于窗口高度来实现吗?

c++ qt qlabel qsizepolicy qvboxlayout

5
推荐指数
1
解决办法
959
查看次数

如何调整 QVBoxLayout 中布局之间的空间

我已经了解了如何调整布局中小部件之间的空间: Space Between widgets in QVBoxLayout。但是,我想知道如何调整添加到布局的布局之间的空间。

例如:

layout = QVBoxLayout()
h1_layout = QHBoxLayout()
h2_layout = QHBoxLayout()
layout.addLayout(h1_layout)
layout.addLayout(h2_layout)
Run Code Online (Sandbox Code Playgroud)

我希望h1_layout和的内容h2_layout彼此靠近放置,而不是在垂直布局上间隔开。

python layout pyqt spacing qvboxlayout

4
推荐指数
1
解决办法
6285
查看次数

所需空间最小的 QLayout

我有一个 QVBoxLayout,其中我在运行时动态添加其他 QWidget :

for(int i = 0; i < value; i++)
{
    QList<QWidget*> widgetList_i;
    //... widgetList_i.append(a lot of widgets)
    ui->verticalLayout->addWidget(widget_i);
}
Run Code Online (Sandbox Code Playgroud)

这些添加的小部件之间有很多浪费的空间:

动态 QWidegt 之间的空间被浪费

当我运行应用程序时,我可以用鼠标压缩高度。

用鼠标拖动边框压缩空间

使用限制每个widgetList_i小部件的高度setMaximumheigth()是一个很好的方法,但是我在开头和结尾浪费了空间:

最大高度

仅添加 aui->vertivalLayout->addStretch(1);会导致末尾出现空白。该布局的开头很好:

在此输入图像描述

添加 QSpacerItem 会使情况变得更糟:

空间项目

是否有一个函数可以将添加的小部件的布局高度设置为最小值?

qscrollarea qt5 qlayout qvboxlayout

3
推荐指数
1
解决办法
2303
查看次数

如何知道Qt中选择了哪个选项卡?

我在使用Qt的应用程序中有多个选项卡,我将它们全部添加到QVBoxLayout对象中.如何知道选择哪一个?

c++ qt qvboxlayout

0
推荐指数
1
解决办法
5017
查看次数

从QLayout删除QWidget?

QVBoxLayoutQWidget在运行时创建的对象动态填充。我也想在运行时将其删除,但是如何?

我可以一一删除小部件:

void QLayout::removeWidget(QWidget * widget)
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式遍历布局吗?

qt qwidget qlayout qvboxlayout qt5.4

0
推荐指数
1
解决办法
1415
查看次数

标签 统计

qvboxlayout ×6

qt ×4

c++ ×3

qlayout ×2

spacing ×2

layout ×1

pyqt ×1

python ×1

qlabel ×1

qscrollarea ×1

qsizepolicy ×1

qt5 ×1

qt5.4 ×1

qwidget ×1