Is there a way to prevent labels from 2 different layers (province and city names)? This map of Argentina looks a bit messy as some labels are overlapping and become unreadable.
QGIS will try to not overlap label when possible but as you experience it's not always possible with some setting. To prevent overlapping label you can try (listed in no particular order) to:
- Choose a more relaxed label placement (ie. choose a setting that
allow the labelling engine to choose between more possible placement)
- uncheck the "show all label for all layer" in the labelling engine setting (but you won't have all label, you could use the "priority" slider on each layer label setting to choose witch one will be displayed over the other)
- increase the "number of candidate" in the labelling engine setting (it's the number of different position that the engine will evaluate for label placement, I'm not sure of the exact effect of that)
- Have smaller/more compact label (use smaller font size or multi-line label, play with character width and spacing...)
- manually place the label at the best location (on map with complex labelling this is often the only way to get good placement, on your map as you don't have that many label it may be quicker than playing with all the above setting...)
- tolerate some superposition, if some label are less important place those less important label at the bottom (under the other label, use the "label z index" setting to order your label by layer) and choose a combination of font and color that make the upper label legible (like bigger black label on top of smaller grey label)
If you want to read on label placement : Positioning Names on Maps - by Eduard Imhof (this is a google drive link to the pdf on a reddit page)
QGis can only control labels that it is drawing, it looks like the basemap you are using has the labels pre drawn on it before it is added to QGis so that QGis thinks it is just an image and knows nothing about the labels.
The only fix for this is to use another base map with no labels, or replace that layer with a set of layers that QGis is drawing so it can combine the labels and work out label placements for you.