Я пишу приложение электронной почты. Когда я отправляю электронное письмо, мой основной поток GUI зависает даже, я создал отдельный поток для отправки электронной почты. Кажется, у меня есть пропущенная резьба?GUI зависает даже после использования Pygtk Threading
У меня есть функция GObject start_init() в начале основного потока. Мне не нужны threads_enter() и threads_leave(), потому что поток выполняет изменения в моем графическом интерфейсе.
Я знаю, что на резьбу много вопросов, но, будучи новичком, я не мог следовать за ними. Что я здесь делаю неправильно?
Класс для отправки Email
class EmailSendThread(Thread):
def __init__(this, email):
Thread.__init__(this)
this.email = email
def run(this):
this.email.send_email()
На кнопку отправки Нажмите
def on_btn_Send_clicked(this, *args):
Ethread = EmailSendThread(this.application.email)
Ethread.setName('SendEmailThread')
Ethread.start()
Ethread.join()
INIT Применение
GObject.threads_init()
EasyMail = EasyMailApplication()
Gtk.main()
Но, если основная программа завершается до того, как будет отправлена почта отправки? –
Затем «присоединяйтесь» к потоку в качестве самой последней команды в программе. – Kevin
Хорошо, позвольте мне попробовать! –