【发布时间】:2017-12-15 16:04:55
【问题描述】:
我创建了一个自定义小部件,其中包含一些水平布局的小部件:
目标是在列表中显示其中的几个,因此我将它们动态添加到父垂直布局中。我遇到的问题是,当我的自定义小部件添加到垂直布局时,它们之间的空间太大:
我希望它们紧密包装,以便它们之间只有很小的空间。我在底部添加了一个垫片,并玩弄了尺寸政策等,但无济于事。下面是添加小部件的代码。任何和所有帮助表示赞赏。
// 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);
【问题讨论】:
-
在它们下方添加一个增长/扩展的垫片,将它们向上推。并将它们的大小策略设置为 QSizePolicy::Minimum。应该做我期望的伎俩。
-
嗨。底部已经有一个垫片,但我确实按照你所说的将尺寸政策设置为最小,但它没有改变任何东西。
标签: c++ qt user-interface qtwidgets