使用QWebKit,我可以使用baseurl加载HTML:
// 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 :(得分:1)
经过长时间的搜索,我在Qt的代码中找到了解决方案:
m_pWebView->document()->setMetaInformation( QTextDocument::DocumentUrl,
rFileInfo.absolutePath() + "/" );
答案 1 :(得分:0)
感谢您的脑电波
对我来说(dable©Aznavour) 这适用于Mac和Linux 只有“file:”被添加。
#ifdef Q_WS_WIN
document()->setMetaInformation( QTextDocument::DocumentUrl, imagePath + "/" );
#else
document()->setMetaInformation( QTextDocument::DocumentUrl, "file:" + imagePath + "/");
#endif
谢谢(适用于Windows,Mac,Linux,QT 4.6.3 - &gt; 5.3.1)