根据您提供的代码,如果要让hBoxLayout
每次都添加在m_VL
的顶部位置,可以使用insertLayout(0, hBoxLayout)
将布局插入到索引为0的位置。下面是修改后的代码片段:
int i = 0;
QList<QString> lsWhiteList = ProgramTool::getInstance()->GetBlackProgram();
qSort(lsWhiteList.begin(), lsWhiteList.end(), compareString);
for (const QString& str : lsWhiteList) {
QHBoxLayout* hBoxLayout = new QHBoxLayout();
m_VL->setContentsMargins(0, 0, 0, 0);
Form* itm = new Form(this, widgetType);
itm->setShowStr(str);
itm->setObjectName(str);
hBoxLayout->addWidget(itm);
m_VL->insertLayout(0, hBoxLayout); // 在索引为0处插入布局
itm->adjustSize(); // 调整Form控件大小
itm->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); // 设置itm的大小策略
i++;
}
这样,每次循环时,新创建的 hBoxLayout
都会被插入到 m_VL
的顶部位置(索引为0),保持了顺序上的逆序添加。
内容由零声教学AI助手提供,问题来源于学员提问