Python Gui (Tkinter) 进程

Python Gui (Tkinter) procces

这是我的代码: http://pastebin.com/eN6xZ40P

我遇到了两个我无法理解的错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\python26\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
  File "D:/Users/user-pc/Desktop/mail/someTK.py", line 32, in sendMail
    msg = MIMEText(output['Body'])
KeyError: 'Body'

您需要正确操作您的界面。

fetch() 函数中填充各种电子邮件字段,该函数在按下 <Return> 键时调用,而不是在单击 Send 按钮时调用。如果您填写表单字段,然后按 <Return>,然后单击 Send,它将尝试发送电子邮件。

我不知道这是否是 最好的 方法,但可以通过将与 <Return> 相同的绑定添加到 [=13] 来使其工作=] 按钮:

    b1 = Button(root, text='Send', command=sendMail)
    b1.bind("<Button-1>", (lambda event, e=ents: fetch(e)))

另一种方法是在构建电子邮件之前在 sendMail() 内调用 fetch()

更好的 UI 改进是禁用 Send 按钮,直到提供了所有必填字段,但这超出了这个问题的范围。