[PyQt] Cooperative multi-inheritance with QObject + QRunner
Elvis Stansvik
elvstone at gmail.com
Tue May 31 08:53:43 BST 2016
Hi all,
I tried subclassing both QObject and QRunnable, like this:
class Job(QObject, QRunnable):
finished = pyqtSignal()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def run(self):
pass # Do stuff
self.finished.emit()
But trying to run it on a QThreadPool with
job = Job()
QThreadPool.globalInstance().start(job)
I get
TypeError: could not convert 'Job' to 'QRunnable'
Is it impossible to leverage PyQt's support for cooperative
multi-inheritance in this case?
I'd like the class to be a QObject, so that I can emit signals from
it, but at the same time a QRunnable so that I can run it on a
QThreadPool. AFAIK this is possible from C++, but looks like it won't
work with PyQt?
Thanks in advance,
Elvis
More information about the PyQt
mailing list