Я подключаю обработчик обратного вызова on_fader_finished
к своему GObject
фейдеру:
fader.connect("animation-finished", self.on_fader_finished)
Теперь я хочу, чтобы обработчик обратного вызова отключился после вызова.
def on_fader_finished(self, fader):
fader.disconnect(???)
К сожалению, функциям disconnect
требуется, чтобы идентификатор обработчика передавался в качестве аргумента.
Конечно, я мог бы попытаться как-то сохранить идентификатор обработчика при подключении обработчика обратного вызова, а затем получить его, но это довольно сложно в моем случае, потому что одна и та же функция-обработчик может динамически подключаться к нескольким объектам GObject.
Было бы намного проще, если бы обратный вызов мог просто отключиться от объекта GObject. Поскольку мои объекты GObject обычно имеют только один обработчик обратного вызова, отключение всех также будет хорошим решением.
Возможно ли это?