如果设置m_VL->setAlignment(Qt::AlignTop)
没有起到对齐顶部的效果,你可以尝试将垂直布局的 QVBoxLayout
替换为 QGridLayout
,并使用 Qt::AlignTop
属性来实现对齐。以下是修改后的代码示例:
QGridLayout* gridLayout = new QGridLayout();
int row = 0;
for (const QString& str : lsWhiteList) {
Form *itm = new Form(this, widgetType);
itm->setShowStr(str);
itm->setObjectName(str);
gridLayout->addWidget(itm, row, 0);
itm->adjustSize();
itm->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
row++;
}
m_VL->addLayout(gridLayout);
在这个示例中,我们创建了一个 QGridLayout
对象,并通过循环将控件添加到网格布局中。然后,我们设置每个控件的大小策略,并根据需要调整它们的大小。
最后,我们将这个网格布局添加到原先的垂直布局中 (m_VL
)。这样应该能够实现控件在垂直方向上对齐顶部。
内容由零声教学AI助手提供,问题来源于学员提问