signal.connect(self._checkSignal)

@Slot()
def _checkSignal(self):
    sender = self.sender()
self._waitready.add(sender)
if len(self._waitready) == len(self._waitable):
    self.ready.emit()

def clear(self):
    for signal in self._waitable:
        signal.disconnect(self._checkSignal)
Qt: How to wait for multiple signals?