Merging shapefiles with matching projections and attribute structures is a very common operation. In QGIS, the best way to merge vector datasets is to use another GIS system included with QGIS on Windows and OSX called SAGA. On other platforms, you must install SAGA separately and activate it in the Processing Toolbox configuration. In PyQGIS, you can access SAGA functions through the Processing Toolbox. SAGA is yet another open source GIS that is similar to QGIS. However, both packages have strengths and weaknesses. By using SAGA through the Processing Toolbox, you can have the best of both systems.
In this recipe, we'll merge some building footprint shapefiles from adjoining areas into a single shapefile. You can download the sample dataset from https://geospatialpython.googlecode.com/files/tiled_footprints.zip.
Extract the zipped shapefiles to a directory named /qgis_data/tiled_footprints
.