QGIS API Documentation 3.39.0-Master (bca3cdb6021)
|
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>
Public Member Functions | |
QgsMapTip () | |
Default constructor. | |
void | clear (QgsMapCanvas *mpMapCanvas=nullptr, int msDelay=0) |
Clear the current maptip if it exists. | |
void | showMapTip (QgsMapLayer *thepLayer, QgsPointXY &mapPosition, const QPoint &pixelPosition, QgsMapCanvas *mpMapCanvas) |
Show a maptip at a given point on the map canvas. | |
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. | |
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. | |
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.
QgsMapTip::QgsMapTip | ( | ) |
Default constructor.
Definition at line 77 of file qgsmaptip.cpp.
void QgsMapTip::clear | ( | QgsMapCanvas * | mpMapCanvas = nullptr , |
int | msDelay = 0 |
||
) |
Clear the current maptip if it exists.
mpMapCanvas | the canvas from which the tip should be cleared. |
msDelay | optional time in ms to defer clearing the maptip (since QGIS 3.26) |
Definition at line 260 of file qgsmaptip.cpp.
|
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.
Definition at line 492 of file qgsmaptip.cpp.
void QgsMapTip::showMapTip | ( | QgsMapLayer * | thepLayer, |
QgsPointXY & | mapPosition, | ||
const QPoint & | pixelPosition, | ||
QgsMapCanvas * | mpMapCanvas | ||
) |
Show a maptip at a given point on the map canvas.
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 |
Definition at line 86 of file qgsmaptip.cpp.
|
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.
Definition at line 446 of file qgsmaptip.cpp.