首页 > 解决方案 > QTextEdit 并将图像保存到 .html

问题描述

如何从 QTextEdit 获取图像以将它们保存在 .html 文件中<image>

平时QTextEdit.ToHtml()不行。

标签: pythonqtpyqtpyqt5

解决方案


因此,pyqt未定义它的标签应该是 pyqt5(我将忽略该pyqt5标签,因为您没有通过发布您尝试的代码来表现出努力。因此,您需要自己修改脚本以使其适合与 pyqt5 一起使用)。

import sys
from PyQt4 import QtGui
from PyQt4 import QtCore

class TextView(QtGui.QTextEdit):

    def __init__(self,Ui_MainWindow, parent=None):
        QtGui.QTextEdit.__init__(self, parent)
        self.setReadOnly(True)
        self.setAcceptRichText(True)

    def insert(self, string,emoticonList):
        cursor = self.textCursor()
        if not emoticonList:
            cursor.insertText(string)
        else:
            ls = shlex.split(str(string))
            for word in ls:
                for emoticon in emoticonList[:]: 
                    if word == emoticon:
                        path = "image/emoticons/" + word
                        icon = QtGui.QPixmap(path)
                        image = icon.toImage()
                        cursor.insertImage(image)
                    else:
                        cursor.insertText(word + " ")
        self.setTextCursor(cursor)
        end = "<br>"
        fragment = QtGui.QTextDocumentFragment.fromHtml(end)
        self.textCursor().insertFragment(fragment)

    def insertReceiveMessage(self, msg):
        cursor = self.textCursor()
        cursor.insertText(msg)
        self.setTextCursor(cursor)
        end = "<br>"
        fragment = QtGui.QTextDocumentFragment.fromHtml(end)
        self.textCursor().insertFragment(fragment)

原始代码可以在这里找到。


推荐阅读