<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;"><div><br></div>Salve ho scritto questo codice che entra in un loop aspettando il click sulla mappa per poterlo stampare su console python<div><br></div><div><div><br></div><div><br></div><div> qualcuno mi sa dire perché dopo un event loop il punto generato è sempre uguale mentre il point generato dal segnale  è diverso ?</div><div><div><br></div><div><div>class stampaPunto():</div><div> </div><div>    def looppoint(self,point,loop):</div><div>                loop.quit()</div><div>                self.punto=point</div><div>            </div><div>                print "creazione del punto",point,self.punto</div><div><br></div><div><br></div><div>    def stampaPunto(self):</div><div>        canvas=iface.mapCanvas()</div><div>        loop=QEventLoop() </div><div>        clickTool = QgsMapToolEmitPoint(canvas)</div><div>        canvas.setMapTool(clickTool)     </div><div>        #self.clickTool.canvasClicked.connect(ottieniPunto)</div><div> </div><div>        clickTool.canvasClicked.connect(lambda x: self.looppoint(x,loop))</div><div>        self.punto=None  </div><div>        print self.punto,"prima del loop"               </div><div>        while self.punto==None :</div><div>            print self.punto</div><div>            loop.exec_() </div><div>            print "dopoloop----",self.punto</div><div>            </div><div>            self.punto=None</div></div><div><br></div><div><br></div><div>l’output su console python è</div><div> None</div><div>creazione del punto (2.4659e+06,4.12719e+06) (2.4659e+06,4.12719e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.46596e+06,4.12723e+06) (2.46596e+06,4.12723e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.46593e+06,4.12729e+06) (2.46593e+06,4.12729e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.4659e+06,4.12722e+06) (2.4659e+06,4.12722e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.46596e+06,4.12729e+06) (2.46596e+06,4.12729e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.466e+06,4.12724e+06) (2.466e+06,4.12724e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.466e+06,4.12722e+06) (2.466e+06,4.12722e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.46595e+06,4.12724e+06) (2.46595e+06,4.12724e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div>creazione del punto (2.46589e+06,4.12733e+06) (2.46589e+06,4.12733e+06)</div><div>dopoloop---- (5.43231e-312,6.95325e-310)</div><div>None</div><div><br></div><div>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)</div><div><br></div><div>Anche poi viene azzerato regolarmente a none</div><div><br></div><div><br></div><div>Forse è una sciocchezza ma non capisco sto comportamento qualcuno mi sa dire che succede?</div><div><br></div><div>Ciao a tutti</div><div><br></div><div><br></div></div></div></body></html>