Message posté par : PY Joubert
----------------------------------------
Bonjour,
Voici mon bout de code qui reprend la même philosophie.
-----------------
Code :
def WBO_STYLE_RechercherRegleParLabel (root, label):
for child in root.descendants():
if child.label() == label:
return child
def WBO_MT_TracerPointRepres (layout,dico_trace,echelle,x,y,ficrepres,classe):
truc = QgsLayoutItemMarker(layout)
truc.setReferencePoint(QgsLayoutPoint(x,y, QgsUnitTypes.LayoutMillimeters))
layout.addLayoutItem(truc)
dummy_layer = QgsVectorLayer('point', 'point', 'memory')
dummy_layer.loadNamedStyle(ficrepres)
r = dummy_layer.renderer()
root = r.rootRule()
rule = WBO_STYLE_RechercherRegleParLabel(root, classe)
if (rule != None):
symbol = rule.symbol()
truc.setSymbol(symbol)
-----------------
Il se trouve qu'une erreur subsiste quant au passage du point
-----------------
Code :
truc.setReferencePoint(QgsLayoutPoint(x,y, QgsUnitTypes.LayoutMillimeters))
TypeError: QgsLayoutItem.setReferencePoint(): argument 1 has unexpected type
'QgsLayoutPoint'
-----------------
J'ai aussi d'eesayé avec GgsPoint(x,y) et QgsPointXY(x,y) --> Même erreur
PYJ
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=366652#p366652
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net