使用 threading.timer 延迟子程序

Using threading.timer to delay sub-procedure

def emailCheck(self):
n=0
(retcode, messages) = mail.search(None, '(UNSEEN)')
if retcode == 'OK':

    for num in messages[0].split() :
        n=n+1
        typ, data = mail.fetch(num,'(RFC822)')
        for response_part in data:
            if isinstance(response_part, tuple):
                original = email.message_from_bytes(response_part[1])

                print (original['From'])
                print (original['Subject'])
                typ, data = mail.store(num,'+FLAGS','\Seen')
print (n)

t = threading.Timer(10.0, emailCheck)
t.start()

我正在尝试使用 threading.timer() 来延迟子过程,但我认为错误与将 self 包含在括号中有关。我正在使用 PyQt,所以所有这些都包含在 class MainWindow 中。

错误:

Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python33\lib\threading.py", line 637, in _bootstrap_inner
self.run()
File "C:\Python33\lib\threading.py", line 823, in run
self.function(*self.args, **self.kwargs)
TypeError: emailCheck() missing 1 required positional argument: 'self'

t = threading.Timer(10.0, self.emailCheck)