我们在项目中使用 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
找不到QUrl
QHC 文件的链接。
如何配置QWebEngineView
,以便它在 QHC 文件中查找资源?还必须找到 HTML 帮助文件中的所有图像和其他外部资源。
也许这门课QWebEngineUrlSchemeHandler
可能会有所帮助。