Pregunta

dicen que hay un texto e imágenes en un QTextEdit. Y decir que extraer el código HTML de la QTextEdit. Ahora bien, ¿es Posible para encontrar los lugares en el código HTML donde se crean instancias de las imágenes () y sustituirlo por otro imágenes que tengan como objeto un QImage retener la posición y el tamaño de la imagen anterior.

En otras palabras, es necesario intercambiar imágenes al tiempo que conserva la posición y el tamaño de la primera imagen, cuando la segunda imagen se almacena en el programa como un QImage.

Por favor, considere que la primera imagen puede no existir en absoluto. El código HTML que hase puede fijarse a la QTextEdit artificialmente sin tener en cuenta si es que hay una imagen como archivo:. //Path/to/image/image_name.png o no

¿Fue útil?

Solución

//Add images as resources
for(int i = 0; i < vectorOfImages.size(); i++ )
{
    QUrl url(QString("image_%1").arg(i));
    textEdit->document()->addResource(QTextDocument::ImageResource, url,  vectorOfImages.at(i));
}

//Process the htmlCode that is in QTextEdit.

int count = 0;
int pos = 0;

QRegExp rx("<img src=\".+/>");
while ((pos = rx.indexIn(htmlCode, pos)) != -1)
{
    QString strToReplace(QString("<img src=\"image_%1\" />").arg(count));
    htmlCode.replace(pos, rx.matchedLength(), strToReplace);
    pos += rx.matchedLength();
    count++;
}

textEdit->setText(htmlCode);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top