默认情况下,QVBoxLayout会从上到下依次垂直排列控件。你可以使用addStretch()函数在顶部添加一个伸缩空间,以将其余的控件推到布局的底部。示例如下:
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget window;
QVBoxLayout *layout = new QVBoxLayout(&window);
QPushButton *button1 = new QPushButton("Button 1", &window);
layout->addWidget(button1);
QPushButton *button2 = new QPushButton("Button 2", &window);
layout->addWidget(button2);
layout->addStretch(); // 在顶部添加一个伸缩空间
window.show();
return a.exec();
}
在上述代码中,我们创建了一个窗口和一个垂直布局 QVBoxLayout,并将窗口设置为布局的父对象。然后,我们创建两个按钮,并将它们添加到布局中。最后,通过调用 addStretch() 函数,在布局的顶部添加了一个伸缩空间。这样就可以让剩余的控件从上开始填充。
注意:如果需要在其他位置插入伸缩空间或者对控件进行更复杂的布局操作,也可以使用 QSpacerItem 或者 QWidget 来实现自定义布局效果。
内容由零声教学AI助手提供,问题来源于学员提问