Qt如何将自定义小部件添加到垂直布局以占用最少的垂直space(自定义小部件之间没有space)

Qt How to add custom widgets to a vertical layout to occupy the least amount of vertical space (no space between custom widgets)

我创建了一个自定义小部件,其中包含一些水平布局的小部件:

目标是在列表中显示其中的几个,因此我已将它们动态添加到父级垂直布局。我遇到的问题是,当我的自定义小部件添加到垂直布局时,它们之间的 space 太多了:

我希望它们紧密排列,中间只有一小块 space。我在底部添加了一个 spacer 并尝试了大小策略等但无济于事。下面是添加小部件的代码。任何帮助表示赞赏。

    // Draw the nodes area
QVBoxLayout* nodeVLayout = new QVBoxLayout;
NodeWidget* node1 = new NodeWidget;
NodeWidget* node2 = new NodeWidget;
QSpacerItem* spacer = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding);

nodeVLayout->setSpacing(1);
nodeVLayout->addWidget(node1);
nodeVLayout->addWidget(node2);
nodeVLayout->addSpacerItem(spacer);

ui->scrNodes->setLayout(nodeVLayout);

在布局选项中检查边距和间距是否设置正确。

默认情况下,顶部和底部的边距设置为 9 像素,这是导致问题的原因。