Как узнать, связан ли сигнал с чем-либо - PullRequest
3 голосов
/ 17 ноября 2011

Есть ли способ узнать, подключен ли уже сигнал к функции?

т.е. я хочу посмотреть, подключен ли сигнал.siSelectionChange к чему-либо

signals.siSelectionChange.connect( self.SelAsSiAssets )

1 Ответ

10 голосов
/ 17 ноября 2011

Вы можете использовать QObject.receivers, чтобы получить счетчик подключенных функций.Я использовал его следующим образом: в closeEvent() QWidget я использую в качестве окна:

    receiversCount = self.receivers(QtCore.SIGNAL("siSelectionChanged()"))
    if receiversCount > 0:
        self.sigChanged.disconnect()

Обратите внимание, что подпись в строке аргумента должна соответствовать реальной подписи.

...