I have been trying to solve this for hours and I haven't found a way to do it. I am working with the print composer on QGIS 3.4 to design a map and I just want to add an arrow with some text inside, something like what you can easily do in power point (see picture).
1 Answer
Powerpoint is a program exclusively designed for visual presentations, so of course it has tools which are more specifically targeted for that purpose. QGIS is primarily designed for working with geospatial data. It has some tools for graphic design and presentation, but those are not its primary focus. So QGIS often takes more steps to achieve a particular visual effect compared to your favorite presentation or graphic design software. For that reason, many QGIS users do post-processing in a graphic design program.
Here are two ways to add an arrow to the QGIS Print Layout:
Add an image item.
- Under "search directories," choose an arrow SVG.
- Under "SVG parameters," change the fill and stroke colors.
- Under "image rotation" (not shown in my screenshot), set the rotation of the arrow.
Add an arrow item.
- Under "main properties," click on the line symbol to increase the width of the line and choose the line color you want. Note that if the line width is more than ~1/3 of the arrow head width, the line will stick out from the behind the arrow.
- Under "line markers," increase the arrow head width and change the colors for arrow stroke and arrow fill.
In both cases, text must be added separately. Add a label item, set the text color and font as you want, and set the rotation to match the arrow. Move the label item on top of the arrow.
If you frequently use arrows with text like this, you may want to copy your arrow with text into a blank print layout and save that as a template. You can add items from a template into any print layout you make in the future.