QgsMapTip class

A maptip is a class to display a tip on a map canvas when a mouse is hovered over a feature.

Since QGIS 2.16 a maptip can show full html. QgsMapTip is a QgsWebView, so you can load full HTML/JS/CSS in it.

The code found in the map tips tab is inserted in a inline-block div so the frame can be resized based on the content size.

If no element in the html has a width attribute, the frame will squeeze down to the widest word. To avoid this you can wrap your HTML in a div style="width:300px" or similar.

JS can be included using the script tag as usual, while CSS files must be linked using link rel="stylesheet" href="URL.css" the html specs discourages link rel="stylesheet" in the body, but all browsers allow it. see https://jakearchibald.com/2016/link-in-body/

Constructors, destructors, conversion operators

QgsMapTip()
Default constructor.

Public functions

void applyFontSettings()
Apply font family and size to match user settings.
void clear(QgsMapCanvas* mpMapCanvas = nullptr)
Clear the current maptip if it exists.
void showMapTip(QgsMapLayer* thepLayer, QgsPointXY& mapPosition, QPoint& pixelPosition, QgsMapCanvas* mpMapCanvas)
Show a maptip at a given point on the map canvas.

Function documentation

void QgsMapTip::clear(QgsMapCanvas* mpMapCanvas = nullptr)

Clear the current maptip if it exists.

Parameters
mpMapCanvas the canvas from which the tip should be cleared.

void QgsMapTip::showMapTip(QgsMapLayer* thepLayer, QgsPointXY& mapPosition, QPoint& pixelPosition, QgsMapCanvas* mpMapCanvas)

Show a maptip at a given point on the map canvas.

Parameters
thepLayer a qgis vector map layer pointer that will be used to provide the attribute data for the map tip.
mapPosition a reference to the position of the cursor in map coordinatess.
pixelPosition a reference to the position of the cursor in pixel coordinates.
mpMapCanvas a map canvas on which the tip is drawn