非常抱歉,我之前的回答有误。正确的做法是在添加完所有元素后,再使用layout->addStretch(1)
将可伸缩空间放在底部。这样新添加的控件会向上填充剩余空间。
以下是修正后的代码示例:
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QVBoxLayout* layout = new QVBoxLayout(&window);
QPushButton* button1 = new QPushButton("按钮1");
layout->addWidget(button1);
QPushButton* button2 = new QPushButton("按钮2");
layout->addWidget(button2);
// 添加可伸缩的空间,在最底部占据额外的垂直空间
QPushButton* button3 = new QPushButton("按钮3");
layout->addWidget(button3);
layout->addStretch(1);
window.show();
return app.exec();
}
在这个示例中,先添加了两个按钮button1
和button2
,然后添加了一个可伸缩空间,并紧接着添加了button3
。最后使用layout->addStretch(1)
将可伸缩空间放在底部。这样可以确保新添加的控件会向上填充剩余空间,并且可伸缩空间仍然会保持在底部。
内容由零声教学AI助手提供,问题来源于学员提问