Use Arrows style instead of Simple Line style.
For example, these lines with Simple Line style:
look like this with Arrow style:
You can turn off the arrow heads by setting the head width and length to 0.
As you can see, the straight line becomes a straight arrow, while the lines with a middle vertex become curved arrows. The placement of the middle vertex determines the curve of the arrow.
To convert your straight lines to curved arrows, you'll need to add a middle vertex to every line, and then offset that vertex enough to generate a curved arrow.
Use the Geometry Generator style with Geometry type: Linestring. This expression will create a line with a midpoint 200 distance units to the east and north of the original midpoint of the line.
make_line( start_point( $geometry), translate( centroid( $geometry), 200,200), end_point($geometry))
Change the line to display as an Arrow style. Adjust the centroid offset values in the geometry generator expression until you're happy with the shape of the arrows. If you want, you can make them proportional to the length of the original line, eg $length/10
. The full expression would be:
make_line( start_point( $geometry), translate( centroid( $geometry), $length/10, $length/10), end_point($geometry))
Here's what it looks like, with the original lines in pink and the geometry-generated arrows in black:
If you aren't satisfied with the line midpoint placement, you can adjust them manually. First, convert the geometry generated line style into an actual layer. Copy the expression from the geometry generator into the geometry by expression
tool (Processing toolbox). Then use the Vertex Tool (Digitizing toolbar) to manually move the vertices.
Note: This answer was made with QGIS 3.4.
Best Answer
This "doesn't" work as it is an apples to oranges comparison. Meters is length. Degrees latitude or longitude are an measurement of angle. And the length of a degree of geodetic latitude varies because the earth is not a perfect sphere.
That said, it can be done: "Since the variation in lengths of degrees of latitude varies by only 1.13 kilometers (0.7 mile), the standard figure of 111.325 kilometers (69.172 miles) can be used. For example, anywhere on the earth, the length represented by 3 degrees of latitude is (3 * 111.325) 333.975 kilometers."
The problem is much more pronounced for longitude (111.32 km at 0 degrees and 0 km at 90 degrees). Check section 3 of this source for a more complete explanation: http://www.ncgia.ucsb.edu/giscc/units/u014/u014.html
Also, there is a good explanation here: https://stackoverflow.com/questions/4102520/how-to-transform-a-distance-from-degrees-to-metres