Использование Try/, кроме как с QTimer
Я использую QTimer
запустить метод, который запускает таймер. Когда я нажимаю QPushButton
Мне нужно остановить этот таймер и сделать другие вещи. Итак, когда я нажимаю кнопку, я получаю эту ошибку:
TypeError: 'instancemethod' object is not connected
Как я могу использовать try-except
способ избежать этой ошибки. Это то, что я сделал:
def delete(self):
try:
self.tmr.timeout.disconnect(self.run_save_clock)
self.tmr.timeout.disconnect(self.append_Data)
self.data = []
self.time_label_2.setText("00:00:00")
self.data_label.setText("000000")
except "TypeError: 'instancemethod' object is not connected": #HERE IS WHERE I HAVE THE PROBLEM
self.tmr.timeout.disconnect(self.append_Data)
self.data = []
self.time_label_2.setText("00:00:00")
self.data_label.setText("000000")
Но это не работает. self.data
переменная, в которой я сохраняю некоторые данные, пока таймер активен
Ошибка появляется, когда я сначала нажимаю другой QPushButton
что связано с этим методом:
def stop(self):
self.saveBtn.setEnabled(True)
self.stopBtn.setEnabled(False)
self.tmr.timeout.disconnect(self.run_save_clock)
self.tmr.timeout.disconnect(self.append_Data)
Что я делаю не так с try/except
метод?
1 ответ
Согласно https://docs.python.org/2/tutorial/errors.html, вы не должны включать в себя строковое сообщение об ошибке сразу после "кроме", а вместо ErrorType, а затем добавить сообщение об ошибке, которое вы хотите вызвать следующим образом:
try:
#something
except TypeError:
#Do something here
print " 'instancemethod' object is not connected"
#Or do something here