Как последовательно выводить текст в 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(), добавляется текст.

Как это сделать?


Ответы (0 шт):