Communication between threads in PySide
I think this should work with PySide. if not work please report a bug on PySide bugzilla(http://bugs.openbossa.org/) with a small test case:
class Thread(QThread): dataReady = Signal(object) def run(self): while True: self.data = slowly_produce_data() # this will add a ref to self.data and avoid the destruction self.dataReady.emit(self.data) class Widget(QWidget): def __init__(self): self.thread = Thread() self.thread.dataReady.connect(self.get_data, Qt.QueuedConnection) self.thread.start() def get_data(self, data): self.data = data def paintEvent(self, event): paint_somehow(self.data)