qualcuno mi sa dire perché dopo un event loop il punto generato è sempre uguale mentre il point generato dal segnale è diverso ?
class stampaPunto():
def looppoint(self,point,loop):
loop.quit()
self.punto=point
print "creazione del punto",point,self.punto
def stampaPunto(self):
canvas=iface.mapCanvas()
loop=QEventLoop()
clickTool = QgsMapToolEmitPoint(canvas)
canvas.setMapTool(clickTool)
#self.clickTool.canvasClicked.connect(ottieniPunto)
clickTool.canvasClicked.connect(lambda x: self.looppoint(x,loop))
self.punto=None
print self.punto,"prima del loop"
while self.punto==None :
print self.punto
loop.exec_()
print "dopoloop----",self.punto
self.punto=None
l’output su console python è
None
creazione del punto (2.4659e+06,4.12719e+06) (2.4659e+06,4.12719e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.46596e+06,4.12723e+06) (2.46596e+06,4.12723e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.46593e+06,4.12729e+06) (2.46593e+06,4.12729e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.4659e+06,4.12722e+06) (2.4659e+06,4.12722e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.46596e+06,4.12729e+06) (2.46596e+06,4.12729e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.466e+06,4.12724e+06) (2.466e+06,4.12724e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.466e+06,4.12722e+06) (2.466e+06,4.12722e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.46595e+06,4.12724e+06) (2.46595e+06,4.12724e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
creazione del punto (2.46589e+06,4.12733e+06) (2.46589e+06,4.12733e+06)
dopoloop---- (5.43231e-312,6.95325e-310)
None
Ai vari click sulla mappa come potete notare l’evento click genera effettivamente un punto diverso che viene messo in self.punto ma che sembra non avere effetto nel resto della procedura dove compare sempre uno stesso point (5.43231e-312,6.95325e-310)
Anche poi viene azzerato regolarmente a none
Forse è una sciocchezza ma non capisco sto comportamento qualcuno mi sa dire che succede?
Ciao a tutti