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 fromQgsMapLayerLegend
implementation.The objects are used in
QgsLayerTreeModel
. Custom implementations may offer additional interactivity and customized look.New in version 2.6.
- Parameters
nodeL (QgsLayerTreeLayer) –
parent –
-
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
(self, QChildEvent)¶
-
connectNotify
(self, QMetaMethod)¶
-
createTemporaryRenderContext
(self) → QgsRenderContext¶ Returns a temporary context or
None
if legendMapViewData are not valid- Return type
-
customEvent
(self, QEvent)¶
-
data
(self, role: int) → Any¶ Returns data associated with the item. Must be implemented in derived class.
- Parameters
role (int) –
- Return type
Any
-
dataChanged
¶ Emitted on internal data change so the layer tree model can forward the signal to views [signal]
-
disconnectNotify
(self, QMetaMethod)¶
-
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.- Parameters
settings (QgsLegendSettings) –
- Return type
-
drawSymbol
(self, settings: QgsLegendSettings, ctx: QgsLayerTreeModelLegendNode.ItemContext, itemHeight: float) → QSizeF¶ Draws symbol on the left side of the item
- Parameters
settings (QgsLegendSettings) – Legend layout configuration
ctx (QgsLayerTreeModelLegendNode.ItemContext) – Context for rendering - may be
None
if only doing layout without actual renderingitemHeight (float) – Minimal height of the legend item - used for correct positioning when rendering
- Return type
QSizeF
- 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 (QgsLegendSettings) – Legend layout configuration
ctx (QgsLayerTreeModelLegendNode.ItemContext) – Context for rendering - may be
None
if only doing layout without actual renderingsymbolSize (QSizeF) – Real size of the associated symbol - used for correct positioning when rendering
- Return type
QSizeF
- 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 (QgsLegendSettings) – Legend layout configuration
json (Dict[str) – 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 (QgsLegendSettings) – Legend layout configuration
context (QgsRenderContext) – Rendering context
json (Dict[str) – 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 (QgsLegendSettings) – Legend layout configuration
context (QgsRenderContext) – Rendering context
json (Dict[str) – 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.
- Return type
Qt.ItemFlags
-
invalidateMapBasedData
(self)¶ Notification from model that information from associated map view has changed. Default implementation does nothing. *
-
isEmbeddedInParent
(self) → bool¶ - Return type
bool
-
isScaleOK
(self, scale: float) → bool¶ - Parameters
scale (float) –
- Return type
bool
-
isSignalConnected
(self, QMetaMethod) → bool¶
-
layerNode
(self) → QgsLayerTreeLayer¶ Returns pointer to the parent layer node
- Return type
-
model
(self) → QgsLayerTreeModel¶ Returns pointer to model owning this legend node
- Return type
-
receivers
(self, PYQT_SIGNAL) → int¶
-
sender
(self) → QObject¶
-
senderSignalIndex
(self) → int¶
-
setData
(self, value: Any, role: int) → bool¶ Sets some data associated with the item. Default implementation does nothing and returns
False
.- Parameters
value (Any) –
role (int) –
- Return type
bool
-
setEmbeddedInParent
(self, embedded: bool)¶ - Parameters
embedded (bool) –
-
setUserLabel
(self, userLabel: str)¶ - Parameters
userLabel (str) –
-
timerEvent
(self, QTimerEvent)¶
-
userLabel
(self) → str¶ - Return type
str