Как последовательно выводить текст в PyQt5?
Я использую Python 3.10, PyQt5, Виджет QTextEdit.
Код:
class Ui_LittleWindow(object):
def __init__(self):
self.connect_ad = Connect(hostname, user, password)
self.connect_mailbox = Connect(hostname, user, password)
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
# MainWindow.setMaximumSize(281, 70)
# MainWindow.setMinimumSize(281, 70)
MainWindow.resize(281, 70) # Установка размера окна
MainWindow.setWindowIcon(QtGui.QIcon('icon.png'))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(0, 0, 281, 71))
self.textEdit.setReadOnly(True)
self.textEdit.setObjectName("textEdit")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Welcome"))
self.textEdit.setHtml(_translate("MainWindow",
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1"
"\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2"
"\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px;"
" margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"
"\"><br /></p></body></html>"))
def copy_text(self):
text = self.textEdit.toPlainText()
return text
def edit_text(self, text: str):
self.textEdit.append(text)
def initialization_ad(self):
self.connect_ad.start_ssh_connection()
if self.connect_ad.STATUS:
self.edit_text('Подключено!')
else:
self.edit_text('Нет!')
def initialization_mailbox(self):
self.connect_mailbox.start_ssh_connection()
if self.connect_mailbox.STATUS:
self.edit_text('Подключено!')
else:
self.edit_text('Нет!')
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
"""Little Window"""
ui_little_window = Ui_LittleWindow()
ui_little_window.setupUi(MainWindow)
MainWindow.show()
ui_little_window.initialization_ad()
ui_little_window.initialization_mailbox()
sys.exit(app.exec_())
Проблема: Я не могу пока понять механизм PyQt5. Я не могу понять как сделать так, чтобы в виджет QTextEdit последовательно выводился текст. То есть сейчас работает так: Открывается окно начинают работать (ui_little_window.initialization_ad(), ui_little_window.initialization_mailbox()), и только потом выводится текст.
А нужно так: Открывается окно, работает ui_little_window.initialization_ad(), выводится текст, работает ui_little_window.initialization_mailbox(), добавляется текст.
Как это сделать?