QGridLayout默认情况下是固定列数的,但是可以通过添加控件来自动适配列数的大小。示例代码如下:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QGridLayout layout(&window);
// 添加控件
for (int i = 0; i < 6; ++i) {
QLabel *label = new QLabel(QString("Label %1").arg(i + 1));
QLineEdit *lineEdit = new QLineEdit();
layout.addWidget(label, i, 0);
layout.addWidget(lineEdit, i, 1);
}
window.show();
return app.exec();
}
在该示例中,我们使用for循环添加了6个标签和文本框控件,并将它们依次添加到布局中。由于没有指定列数,QGridLayout会根据添加的控件自动适配列数的大小。如果想要更加灵活地设置行和列,可以使用addLayout()方法手动添加子布局来实现。