Суть программы: рассылка сообщений по электронным адресам с интерфейсом PyQt5. Должна быть возможность отображения статуса программы в qLabel. Но проблема в том, что при попытки изменить текст Label - ничего не происходит, при том что одновременно с этим статус отражается в командной строке, с помощью print, и это работает..
Вот код:
class MyWin(QtWidgets.QMainWindow):
#Иницилизация приложения
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.Enter.clicked.connect(self.enterOpen) #Иницилизация кнопки
#Работа кнопки отправить
def enterOpen(self):
self.ui.status.setText("Вход в учётную запись")
print("Вход в учётную запись")
entering(self.ui.Email.text(), self.ui.Pasword.text())
print("Отправка сообщений")
self.ui.status.setText("Отправка сообщений")
send(entering(self.ui.Email.text(), self.ui.Pasword.text()))
print("Сообщения успешно отправлены")
self.ui.status.setText("Сообщения успешно отправлены")
time.sleep(3)
print("В ожидании входа")
self.ui.status.setText("В ожидании входа")
self.ui.Email.clear()
self.ui.Pasword.clear()
#Вход в учётную запись
def entering(email,pasword):
yag = yagmail.SMTP(email,pasword)
return yag
#Отправка сообщений
def send(yag):
yag.send(
to=database.receiver,
subject=database.subj,
contents=database.body,
attachments=database.filename,
)
#Запуск программы
if __name__ == "__main__":
app = QtWidgets.QApplication([])
application = MyWin()
application.show()
sys.exit(app.exec())