[FOSSGIS-Talk] QGIS, Python und Threads
Matthias Ludwig
kaotika at gmx.de
Do Jan 17 17:03:18 CET 2013
Hallo,
ich versuche gerade ein Python-Plugin für QGIS zu schreiben, was eine komplexe Berechnung (mittels numpy) im 'Hintergrund' durchführen soll, die GUI aber dennoch zugreifbar lässt. Habe mir dazu das Beispielplugin von Aaron Racicot (http://svn.reprojected.com/qgisplugins/trunk/threading_demo/) geschnappt und modifiziert (siehe unten). Im Original funktioniert dies wunderbar, mit meiner Variante hängt es. Könnt ihr mir sagen, was daran falsch ist?
import numpy
class TestThread(QThread):
def __init__(self, parentThread,parentObject):
QThread.__init__(self, parentThread)
self.parent = parentObject
self.running = False
self.total = 0
self.currentCount = 0
def __del__(self):
self.running = False
self.wait()
def run(self):
self.running = True
A = numpy.random.random((2000,2000))
b = numpy.random.random((2000,1))
x = numpy.linalg.solve(A, b)
print x.trace()
self.emit(SIGNAL("runFinished(PyQt_PyObject)"),"Pass")
self.stop()
def stop(self):
self.running = False
def getUpdate(self):
return self.currentCount