2014-01-24 1 views
1

С QWebKit я был в состоянии загрузить HTML с BaseUrl:нагрузка HTML в QTextEdit с изображением с относительным Путем

// File e.g. with <img src="images/picture.jpg" /> 
const QByteArray oHTMLContent = oFile.readAll(); 
QFile oFile(rFileInfo.absoluteFilePath()); 

QUrl oBaseUrl = QUrl::fromLocalFile(rFileInfo.absolutePath() + "/"); 
QWebFrame* pFrame = m_pWebView->page()->mainFrame(); 
pFrame->setHtml(oHtmlContent, oBaseUrl); 

Есть ли способ сделать то же самое с QTextEdit? . (Потому что мои изображения все по отношению к HTML-документа, а не в двоичном (QDIR :: currentPath())

+0

делает 'QTextEdit :: setHtml()' 'с oFile.readAll()' в качестве аргумента работа для вас? – vahancho

+0

да, но я отредактирую код примера, чтобы сделать его более понятным – Charly

+0

(я использую Qt 4.8.4) – Charly

ответ

1

После долгих поисков я нашел решение в коде Qt:

m_pWebView->document()->setMetaInformation(QTextDocument::DocumentUrl, 
              rFileInfo.absolutePath() + "/"); 

Источник является qtextdocument.cpp in line 1990 .

0

Спасибо за ваш BrainWave

для меня (dable © Азнавур) это работает на Mac и Linux только если "файл:". предваряется

#ifdef Q_WS_WIN 
    document()->setMetaInformation(QTextDocument::DocumentUrl, imagePath + "/"); 
#else 
    document()->setMetaInformation(QTextDocument::DocumentUrl, "file:" + imagePath + "/"); 
#endif 

спасибо (это работает onWindows, Mac, Linux, Qt 4.6.3 -> 5.3.1)

 Смежные вопросы

  • Нет связанных вопросов^_^