将资源文件中的html加载到QTextEdit

时间:2017-04-04 18:55:36

标签: qt

我想按照以下方式做:

QWidget* helpWidget = new QWidget();
QHBoxLayout* layout = new QHBoxLayout();
QTextEdit* textEdit = new QTextEdit();
textEdit->loadResource(QTextDocument::HtmlResource, QUrl("qrc:/help.html"));
textEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
layout->addWidget(textEdit);
helpWidget->setLayout(layout);

资源文件如下:

<RCC>
<qresource prefix="/">
    <file alias="help.html">../doc/index.html</file>
</qresource>
</RCC>

然而,html文件不会显示在QTextView中。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

QTextEdit::loadResource是一种用于不同目的的虚拟方法,see docs

相反,您应该手动读取和设置HTML文件内容:

QFile file(":/help.html");
file.open(QFile::ReadOnly | QFile::Text);
QTextStream stream(&file);
textEdit->setHtml(stream.readAll());