There are a bunch of questions here related to labeling in QGIS, but it's not clear which version they are referring to, and I know this is something that has changed recently. Hopefully it makes sense to start a new question due to the new labeling functionality.
I'm trying to label a road network so that every street is labelled. I have the 'auto' labeling doing a decent job, but it is not placing a label on every street. How can I (with the minimum of effort) keep the existing auto-placed labels (possibly with a few tweaks/manual moves,) but then also go in and manual 'force' missing labels to appear, and position them myself and/or change font size to make them fit?
The new label tools in the toolbar are not very easy to figure out, and the 'pinning' concept is lost on me. Can anyone explain the steps?
To see all the labels you should in 'Layer labelling settings' go to 'Rendering' tab and check "Show all labels for this layer (including colliding labels)". To manually adjust label position you should make layer editable, add two columns: for X and for Y coordinate of the labels. Then go back to 'Layer labelling settings'and go to 'Placement' tab and find "Data defined" set of options and choose fields for X and Y as shown on screenshot:
Now when the layer is editable a 'Move label button' will be available and you will be able to move any label. New changed coordinates will be stored in the fields you provided.
I've spent a bit more time with this, and think I have it more-or-less figured out. Here's what the new tools do, to the best of my knowledge (for those with more expertise, please feel free to comment or correct as necessary):
Layer Labeling Options: Brings up the options menu. This is the same as right-clicking on the layer and choosing Properties, Labels
Highlight Pinned Labels: Shows or hides a shaded 'outline' box around the labels that have been manually moved. Highlight is cyan when layer is not editable, and green when editable.
Pin/Unpin Labels: Changes a label from 'auto' label settings to manual label settings. This will remove all rotation, and change the position of the label. You must then manually set this using the move and rotate tools. Note: Layer must be editable for this tool to be active.
Show/Hide Labels: Displays (Click) or hides (Shift-Click) the label for the feature you click. Note: Layer must be editable for this tool to be active. Note 2: Layer must have a data defined column set for visibility for this tool to be active. To do this, create an integer column (named "visibility' for example), and assign it in the label properties under Rendering > Show Label > YourColumnName
Move Label: Allows you to change the position of the label. Changing the position will "Pin" the label as well. This will remove all rotation, and change the position of the label. Note: Layer must be editable for this tool to be active. Note 2: Layer must have a data defined column set for x and y position for this tool to be active. To do this, create 2 'double' (aka decimal or real) columns (named "LabelX" and "LabelY" for example), and assign them in the label properties under Placement > Data Defined > X and Y
Rotate Label: Allows you to change the rotation of the label. You must first "Pin" the label before you can rotate it. Note: Layer must be editable for this tool to be active. Note 2: Layer must have a data defined column set for Rotation for this tool to be active. To do this, create a 'double' (aka decimal or real) column (named "Rotation" for example), and assign it in the label properties under Placement > Data Defined > Rotation
Change Label: Brings up additional options to change the particular label you clicked. Here you can set things such as the specific font/size/colour, buffers, etc. These all need to have their own columns defined, and the label properties set to use them as 'data defined' fields.
I should note that the labeling functionality seems to be changing rapidly, so this currently applies to QGIS 1.9.0-Master. I hope it all makes sense! With a bit of time spent figuring it out, it's really quite powerful!