将 Try/except 与 QTimer 一起使用
Using Try/except with a 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
方法我做错了什么?
根据 https://docs.python.org/2/tutorial/errors.html,您不应在 "except" 之后包含字符串错误消息,而应包含 ErrorType,然后添加您想要引发的错误消息,如下所示:
try:
#something
except TypeError:
#Do something here
print " 'instancemethod' object is not connected"
#Or do something here
我使用 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
方法我做错了什么?
根据 https://docs.python.org/2/tutorial/errors.html,您不应在 "except" 之后包含字符串错误消息,而应包含 ErrorType,然后添加您想要引发的错误消息,如下所示:
try:
#something
except TypeError:
#Do something here
print " 'instancemethod' object is not connected"
#Or do something here