В зависимости от условий я хотел бы подключить/повторно подключить кнопку к другой функции.
Скажем, у меня есть кнопка:
myButton = QtGui.QPushButton()
В этом примере скажем, я проверяю, есть ли интернет-соединение.
if connected == True:
myButton.clicked.connect(function_A)
elif connected == False:
myButton.clicked.connect(function_B)
Прежде всего, я хотел бы отключить кнопку от любой функции, которую он уже подключил, прежде чем кнопка будет повторно назначена/повторно подключена к другой функции (function_A или function_B). Во-вторых, я уже заметил, что после повторного подключения кнопки требуется дополнительный щелчок кнопки, чтобы выбрать новую функцию. После того, как кнопка повторно подключена к другой функции, она по-прежнему пытается запустить предыдущую функцию - функцию, с которой ранее была подключена кнопка (перед повторным подключением). Пожалуйста посоветуй. Спасибо заранее!
EDITED LATER:
Появится виджет .disconnect() метод может быть использован для отключения кнопки от функции, с которой он подключен.
myButton.disconnect()
К сожалению .disconnect() выдает ошибку, если виджет не подключен к какой-либо функции. Чтобы обойти это, я использую Try/Except. Но я предпочел бы использовать более элегантное решение...
try: myButton.clicked.disconnect()
except Exception: pass