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

时间:2017-12-15 16:04:56

标签: c++ qt user-interface qtwidgets

我已经在水平布局中创建了一个包含几个小部件的自定义小部件:

custom widget

enter image description here

目标是在列表中显示其中的几个,以便我们将它们动态添加到父垂直布局中。我遇到的问题是,当我们自定义小部件添加到垂直布局时,空间太大: too much space

我希望它们紧密包装,以便中间只有一小块空间。我在底部添加了一个垫片,并在规模政策等方面玩弄但无济于事。下面是添加小部件的代码。任何和所有帮助表示赞赏。

    // 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);

1 个答案:

答案 0 :(得分:0)

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

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