Class: QgsLayerTreeModelLegendNode¶
-
class
qgis.core.
QgsLayerTreeModelLegendNode
(nodeL: QgsLayerTreeLayer, parent: QObject = None)¶ Bases:
PyQt5.QtCore.QObject
Construct the node with pointer to its parent layer node
The QgsLegendRendererItem class is abstract interface for legend items returned from QgsMapLayerLegend implementation.
The objects are used in QgsLayerTreeModel. Custom implementations may offer additional interactivity and customized look.
New in version 2.6: Enums
Methods
Returns a temporary context or
None
if legendMapViewData are not validReturns data associated with the item.
Entry point called from QgsLegendRenderer to do the rendering.
Draws symbol on the left side of the item
Draws label on the right side of the item
Adds a label in a JSON object with the key “title”.
Adds a symbol in base64 string within a JSON object with the key “icon”.
Entry point called from QgsLegendRenderer to do the rendering in a JSON object.
Returns item flags associated with the item.
Notification from model that information from associated map view has changed.
Returns pointer to the parent layer node
Returns pointer to model owning this legend node
Sets some data associated with the item.
Signals
Emitted on internal data change so the layer tree model can forward the signal to views [signal]
Attributes
-
class
ItemContext
¶ Bases:
sip.wrapper
QgsLayerTreeModelLegendNode.ItemContext(QgsLayerTreeModelLegendNode.ItemContext)
-
columnLeft
¶
-
columnRight
¶
-
context
¶
-
labelXOffset
¶
-
maxSiblingSymbolWidth
¶
-
painter
¶
-
point
¶
-
top
¶
-
-
class
ItemMetrics
¶ Bases:
sip.wrapper
QgsLayerTreeModelLegendNode.ItemMetrics(QgsLayerTreeModelLegendNode.ItemMetrics)
-
labelSize
¶
-
symbolSize
¶
-
-
class
LegendNodeRoles
¶ Bases:
int
-
ParentRuleKeyRole
= 257¶
-
RuleKeyRole
= 256¶
-
childEvent
()¶
-
connectNotify
()¶
-
createTemporaryRenderContext
(self) → QgsRenderContext¶ Returns a temporary context or
None
if legendMapViewData are not valid
-
customEvent
()¶
-
data
(self, role: int) → Any¶ Returns data associated with the item. Must be implemented in derived class.
-
dataChanged
¶ Emitted on internal data change so the layer tree model can forward the signal to views [signal]
-
disconnectNotify
()¶
-
draw
(self, settings: QgsLegendSettings, ctx: QgsLayerTreeModelLegendNode.ItemContext) → QgsLayerTreeModelLegendNode.ItemMetrics¶ Entry point called from QgsLegendRenderer to do the rendering. Default implementation calls drawSymbol() and drawSymbolText() methods.
If ctx is
None
, this is just first stage when preparing layout - without actual rendering.
-
drawSymbol
(self, settings: QgsLegendSettings, ctx: QgsLayerTreeModelLegendNode.ItemContext, itemHeight: float) → QSizeF¶ Draws symbol on the left side of the item
- Parameters
settings – Legend layout configuration
ctx – Context for rendering - may be
None
if only doing layout without actual renderingitemHeight – Minimal height of the legend item - used for correct positioning when rendering
- Returns
Real size of the symbol (may be bigger than “normal” symbol size from settings)
-
drawSymbolText
(self, settings: QgsLegendSettings, ctx: QgsLayerTreeModelLegendNode.ItemContext, symbolSize: QSizeF) → QSizeF¶ Draws label on the right side of the item
- Parameters
settings – Legend layout configuration
ctx – Context for rendering - may be
None
if only doing layout without actual renderingsymbolSize – Real size of the associated symbol - used for correct positioning when rendering
- Returns
Size of the label (may span multiple lines)
-
exportSymbolTextToJson
(self, settings: QgsLegendSettings, json: Dict[str, Union[QJsonValue, QJsonValue.Type, Iterable[QJsonValue], bool, int, float, str]])¶ Adds a label in a JSON object with the key “title”.
- Parameters
settings – Legend layout configuration
json – The json object to update
New in version 3.8.
-
exportSymbolToJson
(self, settings: QgsLegendSettings, context: QgsRenderContext, json: Dict[str, Union[QJsonValue, QJsonValue.Type, Iterable[QJsonValue], bool, int, float, str]])¶ Adds a symbol in base64 string within a JSON object with the key “icon”.
- Parameters
settings – Legend layout configuration
context – Rendering context
json – The json object to update
New in version 3.8.
-
exportToJson
(self, settings: QgsLegendSettings, context: QgsRenderContext, json: Dict[str, Union[QJsonValue, QJsonValue.Type, Iterable[QJsonValue], bool, int, float, str]])¶ Entry point called from QgsLegendRenderer to do the rendering in a JSON object.
- Parameters
settings – Legend layout configuration
context – Rendering context
json – The json object to update
New in version 3.8.
-
flags
(self) → Qt.ItemFlags¶ Returns item flags associated with the item. Default implementation returns Qt.ItemIsEnabled.
-
invalidateMapBasedData
(self)¶ Notification from model that information from associated map view has changed. Default implementation does nothing. *
-
isEmbeddedInParent
(self) → bool¶
-
isScaleOK
(self, scale: float) → bool¶
-
isSignalConnected
()¶
-
layerNode
(self) → QgsLayerTreeLayer¶ Returns pointer to the parent layer node
-
model
(self) → QgsLayerTreeModel¶ Returns pointer to model owning this legend node
-
receivers
()¶
-
sender
()¶
-
senderSignalIndex
()¶
-
setData
(self, value: Any, role: int) → bool¶ Sets some data associated with the item. Default implementation does nothing and returns
False
.
-
setEmbeddedInParent
(self, embedded: bool)¶
-
setUserLabel
(self, userLabel: str)¶
-
timerEvent
()¶
-
userLabel
(self) → str¶
-
class