Я создаю QFormLayout с некоторыми элементами вроде этого:
QFormLayout *tableLayout = new QFormLayout();
QLineEdit *line1 = new QLineEdit();
QLineEdit *line2 = new QLineEdit();
tableLayout->addRow(tr("LineText1 "), line1);
tableLayout->addRow(tr("LineText2 "), line2);
После этого я пытаюсь добавить этот макет в QGridLayout следующим образом:
QGridLayout *layout = new QGridLayout();
QPushButton *btn1 = new QPushButton();
QPushButton *btn2 = new QPushButton();
layout->addWidget(btn, 1, 1, 3, 3);
layout->addWidget(btn2, 1, 4);
layout->addLayout(tableLayout, 2, 4);
После того, как я добавил tableLayout, btn1 имеет ширину как 1 столбец, а tableLayout имеет ширину как 3 столбца.
Я уже пытался поместить QFormLayout в собственный виджет и добавить виджет в QGridLayout. Но это ничего не изменило. Я делаю это следующим образом:
QFormLayout *tableLayout = new QFormLayout();
QLineEdit *line1 = new QLineEdit();
QLineEdit *line2 = new QLineEdit();
tableLayout->addRow(tr("LineText1 "), line1);
tableLayout->addRow(tr("LineText2 "), line2);
QWidget *widget = new QWidget();
widget->setLayout(tableLayout);
QGridLayout *layout = new QGridLayout();
QPushButton *btn1 = new QPushButton();
btn1->setText("btn1");
QPushButton *btn2 = new QPushButton();
btn2->setText("btn2");
layout->addWidget(btn1, 1, 1, 3, 3);
layout->addWidget(btn2, 1, 4);
layout->addWidget(widget, 2, 4);
В чем причина этой странной ситуации? И как это решить?
Вот изображение результата: ![enter image description here](https://i.stack.imgur.com/dOjyw.png)
А вот ват, который я хочу иметь: ![enter image description here](https://i.stack.imgur.com/4vEev.png)