Статья, на которую вы ссылаетесь, очень старая и, похоже, ссылается на Qt4. Используя Qt5 / PyQt5, вы можете сохранить экземпляр соединения ...
conn = patient.close_btn.clicked.connect(lambda: self.delete(patient))
и использовать его позже для отключения от сигнала ...
patient.close_btn.clicked.disconnect(conn)
Редактировать 1: Если бы еще раз взглянуть на это, оказалось, что, по крайней мере, с PyQt5, вы можете отключить лямбду без сохранения возвращенного экземпляра соединения, если вы храните саму лямбду как переменную. Так что подключайтесь с ...
l = lambda: self.delete(patient)
patient.close_btn.clicked.connect(l)
и отключайтесь с ...
patient.close_btn.clicked.disconnect(l)
Но следующее не работает ...
patient.close_btn.clicked.connect(lambda: self.delete(patient))
patient.close_btn.clicked.disconnect(lambda: self.delete(patient))
Так как две лямбды, хотя и функционально идентичны, на самом деле относятся к разным переменным. Обратите внимание, что это с Qt5 / PyQt5. Не уверен, верно ли то же самое для Qt4 / PyQt.