Skip to content

Instantly share code, notes, and snippets.

@NathanW2
Created October 19, 2015 22:53
Show Gist options
  • Save NathanW2/aabd1983bdf2dd71e938 to your computer and use it in GitHub Desktop.
Save NathanW2/aabd1983bdf2dd71e938 to your computer and use it in GitHub Desktop.
from PyQt4.QtCore import QThread, QObject, pyqtSignal
class Worker(QObject):
done = pyqtSignal()
finalResult = pyqtSignal(int)
def __init__(self, parent=None):
super(Worker, self).__init__(parent)
def do_stuff(self):
l = 0
for i in range(100):
l += i
self.finalResult.emit(l)
self.done.emit()
def cleanup(self):
pass
def result(value):
iface.messageBar().pushMessage("Done", str(value))
thread = QThread()
worker = Worker()
worker.moveToThread(thread)
worker.done.connect(thread.quit)
worker.finalResult.connect(result)
thread.started.connect(worker.do_stuff)
thread.finished.connect(worker.cleanup)
thread.start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment