PyQt5 QTextEdit предварительный просмотр HTML во время редактирования - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь отредактировать QTextEdit с именем self.chatTextField для отображения предварительного просмотра HTML в живом формате.Например, если я делаю "", я хочу, чтобы тег не показывался, а жирный текст.Я могу получить эту работу, если использую textBrowswer в качестве средства предварительного просмотра, но мне бы хотелось, чтобы все это было в одном виджете.

enter image description here

Как выМожно видеть на изображении выше, я хочу, чтобы часть отображала HTML как конечный продукт, а не теги.Это возможно?

Я пробовал различные способы конвертировать .toPlainText (), а затем добавить HTML-колонтитул.Я пытался .insertHtml () и .setHtml ().Я пытался делать трюки с открытой и закрытой морковью, но, похоже, ничего не работает.Я либо получаю его, чтобы просто удалить весь HTML (что-нибудь с морковью / тегами), либо это вызывает ошибки рекурсии.

Это единственный раздел кода, который занимается обновлением HTML.Если вам нужен дополнительный код, пожалуйста, дайте мне знать.Я также могу предоставить файл пользовательского интерфейса.

def printMaster(self):
    global my_text

    if self.chatTextField.toPlainText() != "":
        oldText = self.chatTextField.toPlainText()
        newText = self.textBrowser.toPlainText()
        if oldText != newText and oldText != my_text:
            self.textBrowser.setText(self.chatTextField.toPlainText())
            my_text = self.chatTextField.toPlainText()
            if my_text.endswith('>'):
                #my_text = self.chatTextField.toHtml()

                # self.chatTextField.clear()
                print(my_text)
                # self.chatTextField.setHtml(my_text)
                QCoreApplication.processEvents()



            # cursor = self.chatTextField.textCursor()
            # pos = cursor.selectionEnd()
            #
            # print(self.chatTextField.toHtml())
            #
            # my_text = self.chatTextField.toHtml()
            #
            # self.chatTextField.clear()
            # # self.chatTextField.insertHtml(str(my_text))
            #
            # if my_text.endswith('<'):
            #     my_text = my_text + "<"
            #     self.chatTextField.setHtml(my_text)
            #     print(True)
            # else:
            #     self.chatTextField.insertHtml(my_text)
            #
            #
            # cursor.setPosition(pos)
            #
            # self.chatTextField.setTextCursor(cursor)
            #
            #
            # QCoreApplication.processEvents()
            #
            # # self.chatTextField.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...