[Gfoss] Qgis dopo QEventLoop il point del canvas clicked da un valore strano
Salvo caligiore
elyparker1 a gmail.com
Gio 20 Feb 2014 19:15:05 CET
Salve ho scritto questo codice che entra in un loop aspettando il click
sulla mappa per poterlo stampare su console python
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
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20140220/f1855d95/attachment.html>
Maggiori informazioni sulla lista
Gfoss