Message posté par : Yoann Lecomte
----------------------------------------
Si je comprend bien, une approche possible est la suivante
-----------------
Code :
from qgis.gui import QgsMapToolEmitPoint,Qgis
# GL POINT.py
class DonnerPoint(QObject):
point_clicked = pyqtSignal(QgsPointXY)
def __init__(self):
super().__init__()
self.clicked_point = None
self.canvas = iface.mapCanvas()
self.tool = QgsMapToolEmitPoint(self.canvas)
self.tool.setCursor(Qt.SizeAllCursor)
self.tool.canvasClicked.connect(self.on_click)
self.canvas.setMapTool(self.tool)
def on_click(self, point):
self.point_clicked.emit(point)
self.clicked_point = point
# fonctionnalites.py
class MonPlugin():
...
def point_user(self, point):
self.point = point
self.faire_quelque_chose_avec_le point()
def fonctionnalite(self, *args):
...
point_requester = DonnerPoint()
point_requester.point_clicked.connect(point_user)
def faire_quelque_chose_avec_le_point(self):
print(self.point)
-----------------
Il faut faire communiquer votre classe qui demande le point avec votre plugin au moment où
l'utilisateur a cliqué. Cela se fait via le l'emission d'un signal qui envoi
le point à votre plugin.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=365020#p365020
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