Мы используем Qt-Help в наших проектах, но я действительно не удовлетворен форматированием Qt-Help внутри Qt-assistant.Это выглядит ужасно по сравнению с форматированием HTML-файлов в моем Firefox.
Одной из причин может быть то, что Qt-assistant игнорирует 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
мог бы помочь.