Я пытаюсь узнать, как использовать Qt Assistant для отображения настраиваемой справки в приложении.
Я нашел пример на сайте Qt:
http://qt-project.org/doc/qt-4.7/help-simpletextviewer.html
(используя Qt 4.7.3)
Все необходимые исходные файлы находятся на сайте выше. Я создал html и png файлы и поместил их в папку «help» внутри папки проекта.
Запуск Qt Assistant из командной строки работает отлично.
Загрузка файла справки в Ассистент также работает. Что я не могу сделать, так это загрузить стартовую страницу в файл справки, как описано в этом разделе:
http://qt-project.org/doc/qt-4.7/assistant-custom-help-viewer.html#id-0c628592-dd04-4465-94b1-e5d4a91d7cd4
void Assistant::showDocumentation(const QString &page)
{
if (!startAssistant())
return;
QByteArray ba("SetSource ");
ba.append("qthelp://com.trolltech.examples.simpletextviewer/doc/");
proc->write(ba + page.toLocal8Bit() + '\n');
}
С подробным объяснением SetSource, показывающим
setSource <Url> Displays the given <Url>. The URL can be absolute or relative
to the currently displayed page. If the URL is absolute, it has to be
a valid Qt help system URL; i.e., starting with "qthelp://".
У меня нет веб-страницы … но я пытался отобразить индекс из локального набора файлов, и я всегда получаю
ошибка 404, говорящая «не могу загрузить страницу, бла-бла / help / index.html»
Как я могу создать локальный путь, как они говорят, или как я могу создать «действительный URL справочной системы Qt»? «
Примечание: SetSource и setSource дают абсолютно одинаковые результаты … и в документации, и в их собственных примерах используются оба варианта … эти параметры не чувствительны к регистру?
Я ответил на свой вопрос решением, которое кажется неправильным … Я был бы признателен за лучший ответ.
Должно быть что-то не так с моим решением или документацией …
Мне удалось отобразить страницу, изменив параметр …
замещать QByteArray ba("SetSource ");
с QByteArray ba("Set Source ");