QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Member Functions | Static Public Member Functions | List of all members
QgsMapTip Class Reference

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

#include <qgsmaptip.h>

Inheritance diagram for QgsMapTip:
Inheritance graph
[legend]

Public Member Functions

 QgsMapTip ()
 Default constructor. More...
 
void clear (QgsMapCanvas *mpMapCanvas=nullptr, int msDelay=0)
 Clear the current maptip if it exists. More...
 
void showMapTip (QgsMapLayer *thepLayer, QgsPointXY &mapPosition, const QPoint &pixelPosition, QgsMapCanvas *mpMapCanvas)
 Show a maptip at a given point on the map canvas. More...
 

Static Public Member Functions

static QString rasterMapTipPreviewText (QgsMapLayer *layer, QgsMapCanvas *mapCanvas, const QString &mapTemplate)
 Returns the html that would be displayed in a maptip for a given layer. More...
 
static QString vectorMapTipPreviewText (QgsMapLayer *layer, QgsMapCanvas *mapCanvas, const QString &mapTemplate, const QString &displayExpression)
 Returns the html that would be displayed in a maptip for a given layer. More...
 

Detailed Description

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/

Definition at line 52 of file qgsmaptip.h.

Constructor & Destructor Documentation

◆ QgsMapTip()

QgsMapTip::QgsMapTip ( )

Default constructor.

Definition at line 77 of file qgsmaptip.cpp.

Member Function Documentation

◆ clear()

void QgsMapTip::clear ( QgsMapCanvas mpMapCanvas = nullptr,
int  msDelay = 0 
)

Clear the current maptip if it exists.

Parameters
mpMapCanvasthe canvas from which the tip should be cleared.
msDelayoptional time in ms to defer clearing the maptip (since QGIS 3.26)

Definition at line 260 of file qgsmaptip.cpp.

◆ rasterMapTipPreviewText()

QString QgsMapTip::rasterMapTipPreviewText ( QgsMapLayer layer,
QgsMapCanvas mapCanvas,
const QString &  mapTemplate 
)
static

Returns the html that would be displayed in a maptip for a given layer.

The center pixel of the raster is used to evaluate the expressions.

Since
QGIS 3.32

Definition at line 492 of file qgsmaptip.cpp.

◆ showMapTip()

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

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

Parameters
thepLayera qgis vector map layer pointer that will be used to provide the attribute data for the map tip.
mapPositiona reference to the position of the cursor in map coordinatess.
pixelPositiona reference to the position of the cursor in pixel coordinates.
mpMapCanvasa map canvas on which the tip is drawn

Definition at line 86 of file qgsmaptip.cpp.

◆ vectorMapTipPreviewText()

QString QgsMapTip::vectorMapTipPreviewText ( QgsMapLayer layer,
QgsMapCanvas mapCanvas,
const QString &  mapTemplate,
const QString &  displayExpression 
)
static

Returns the html that would be displayed in a maptip for a given layer.

If the layer has features, the first feature is used to evaluate the expressions.

Since
QGIS 3.32

Definition at line 446 of file qgsmaptip.cpp.


The documentation for this class was generated from the following files: