【发布时间】:2018-10-26 11:18:18
【问题描述】:
我们在项目中使用 Qt-Help,但我对 Qt-assistant 中 Qt-Help 的格式真的不满意。与我的 Firefox 中 HTML 文件的格式相比,它看起来真的很难看。
其中一个原因可能是,Qt 助手在其渲染中忽略了 javascript。
因此我尝试实现一个非常简单的测试运行程序,它应该显示 QHC 文件的内容。
#include <iostream>
#include <QApplication>
#include <QDebug>
#include <QDialog>
#include <QHBoxLayout>
#include <QHelpContentWidget>
#include <QHelpEngine>
#include <QWebEngineView>
int main(int argc, char** args) {
QApplication app(argc, args);
auto help = new QHelpEngine("./data/MyHelp.qhc");
help->contentWidget()->show();
QObject::connect(help->contentWidget(), &QHelpContentWidget::linkActivated, [&](const QUrl &link) {
QDialog dialog;
auto helpContent = new QWebEngineView;
helpContent->load(link);
dialog.setLayout(new QHBoxLayout);
dialog.layout()->addWidget(helpContent);
dialog.exec();
});
app.exec();
}
很遗憾,QWebEngineView 找不到 QHC 文件的 QUrl 链接。
如何配置QWebEngineView,以便它在 QHC 文件中查找资源?还必须找到 HTML 帮助文件中的所有图像和其他外部资源。
也许QWebEngineUrlSchemeHandler 类可能会有所帮助。
【问题讨论】:
标签: qt python-sphinx qwebengineview qwebpage qthelp