[Interest] QtLocation MapPolyLine and MouseArea

maitai maitai at virtual-winds.org
Thu Mar 7 18:32:35 CET 2019


I need to trigger various actions whenever a MapPolyLine is hovered or 
pressed, such as displaying a tooltip, a menu, etc.

I have put a MouseArea on it with anchors.fills: parent, but the problem 
is that the mouse area does not represent the line, but the polygon made 
by the line. For instance if you have a L shape, entered event and so on 
is triggered when you enter the bounding rectangle of the line, not when 
you hover over the line itself.

On a QGraphicsScene we had the shape() protected method for that kinds 
of case, for instance with a QPainterPathStroker to give some thickness 
to the line's "mousearea".

I will probably end with a custom property that will carry the pixel 
distance between the line segments and the mouse coordinates, but this 
is going to be heavy to compute (I have potentially hundreds of 
complicated lines on the map).

Is there a better way or even better a standard way to do that?

Philippe Lelong

More information about the Interest mailing list