Hi,
I'm trying the set label masks for heights on a contour line layer.
It works like a charm manually set with Label mask and Masks. I saved the style 
in a qml-file.
However, when I open/add this style-file in python script, the mask settings 
(masked symbol layer and mask source) are missing?!? (Labels are checked when 
saving the qml-file)

Therefore, I would like to add the mask with pyQGIS, but how do I get the name 
(id) of the "Masked symbol layers" and the "Mask sources"?
Must Masks be set in Layer properties to appear? Ref. 
https://gis.stackexchange.com/questions/447362/pyqgis-to-set-masked-symbol-layer-and-mask-source
Some of the code I've tried so far:

# Add geopackage
fileName = "karplantehoyder.gpkg"
layer = QgsVectorLayer(fileName, "hoyder", "ogr")
# Load style
layer.loadNamedStyle('./qml/n5hoyder.qml')  # color, line width, label 
font/size set, but not mask
label = QgsPalLayerSettings()
label.MaskEnabled = True
# masklayer = QgsMaskMarkerSymbolLayer()  # How do i set the mask symbol layer 
and mask source
# masklayer.setMasks("hoyder")            # This is not working, have tried id 
and layer - not working
QgsProject.instance().addMapLayer(layer, True)
layer.saveStyleToDatabase(layer.name(),'style n5hoyder',True,'')
mask_settings = QgsTextMaskSettings()
mask_settings.maskedSymbolLayers()      # How do I set the contour line layer 
to be the Masked symbol layer?
mask_settings.setMaskedSymbolLayers()   # and how do I set the contour layer to 
be the label mask?


Best regards
Anne Nilsen

_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to