def add_cell(self, pos: int, txt=""): """Вставляет ячейку ниже активирующей кнопки для вставки на уровне надо передать ::pos:: = -1""" cell = QHBoxLayout() edi = QLineEdit() edi.setText(txt) add_btn = QPushButton("Добавить") del_btn = QPushButton("Удалить") cmb = QComboBox() cmb.addItem(txt) edi.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) cmb.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) add_btn.clicked.connect(lambda e, c=cell: self.add_cell(c.pos)) del_btn.clicked.connect(lambda e, c=cell: self.del_cell(c.pos)) edi.editingFinished.connect( lambda c=cmb, t=edi.text: self.combo_update("Водитель", c, t() )) # le-kostyl cell.pos = pos cell.addWidget(edi) cell.addWidget(cmb) cell.addWidget(add_btn) cell.addWidget(del_btn) for i in range(pos + 1, self.slave_drivers_layout.count()): cell_to_move = self.slave_drivers_layout.itemAt(i) cell_to_move.pos += 1 cell.pos += 1 # для вставки ниже активированной кнопки self.slave_drivers_layout.insertLayout(cell.pos, cell)