Название: QHelpEngineCore - немогу запустить. Отправлено: -QT- от Май 08, 2009, 10:16 Всем привет и с наступающим праздником!
Мне нужно засунуть справку в бинарник. Пытаюсь использовать встроенную справку так как в примере: Код Вылетает с варнингами: Цитировать WARNING: QFSFileEngine::open: No file name specified Хелп ассистантом открывается нормально никаких проблем.WARNING: QTextBrowser: No document for qthelp://ru.myqt.myapp/help/index.html Если засунуть user.qhc в ресурсы то вообще никаких ворнингов и setupData() - false. Помогите разрулить эту ситуёвину. Название: Re: QHelpEngineCore - немогу запустить. Отправлено: Rcus от Май 08, 2009, 10:42 А как насчет QHelpEngineCore::error()?
P.S. файлы Qt Collection files имеют расширение .qch Название: Re: QHelpEngineCore - немогу запустить. Отправлено: -QT- от Май 08, 2009, 12:05 А как насчет QHelpEngineCore::error()? P.S. файлы Qt Collection files имеют расширение .qch QHelpEngineCore::error() выдает пустоту "" а я расширение брал как в работающем примере из QT. И если поставить расширение .qch то вообще ничего не выводит и не срабатывает, а если .qhc то вышеприведенную ошибку. Кстати если файл справки засунуть в ресурсы то QHelpEngineCore::error() выдает "Cannot open collection file: :app/help/user.qhc" Название: Re: QHelpEngineCore - немогу запустить. Отправлено: -QT- от Май 12, 2009, 08:57 По итогу я понял что это баг.
http://www.qtsoftware.com/developer/task-tracker/index_html?method=entry&id=247313 (http://www.qtsoftware.com/developer/task-tracker/index_html?method=entry&id=247313) Но не догнал как все таки работает пример - ведь он работает сволочь. Название: Re: QHelpEngineCore - немогу запустить. Отправлено: igor_bogomolov от Май 12, 2009, 12:01 Следущий код у меня нормально отображает страничку помощи
Код
Название: Re: QHelpEngineCore - немогу запустить. Отправлено: igor_bogomolov от Май 12, 2009, 12:32 Что то рано я обрадовался.
Таким образом загружается только запрашиваемая страничка. Ссылки не работают, картинки не отображаются. Использование setSource Цитировать QFSFileEngine::open: No file name specified QTextBrowser: No document for qthelp://com.sgs/documentation/editWindow.html Название: Re: QHelpEngineCore - немогу запустить. Отправлено: -QT- от Май 12, 2009, 13:20 Нужно отнаследоваться от QTextBrowser
и переопределить: QVariant loadResource(int type, const QUrl &name); Код
Это работает и с ссылками но только не со ссылками типа : mailbox@mail.ru на них отображается пустой документ и в логах: Цитировать WARNING: QTextBrowser: No document for mailto:mailbox@mail.ru Как это решить кто знает?И Плохо еще другое, что эти файлы нельзя запихнуть в ресурсы, :-\ тогда такой метод вообще не работает. Название: Re: QHelpEngineCore - немогу запустить. Отправлено: igor_bogomolov от Май 12, 2009, 13:42 Нужно отнаследоваться от QTextBrowser examples я конечно же посмотрел. Хотелось бы без наследования QTextBrowser обойтись. Видимо не получится :(.и переопределить: QVariant loadResource(int type, const QUrl &name); Перетащил helpbrowser в свой проект. Делаю setSource. В результате получаю Цитировать QTextBrowser: No document for qthelp://com.sgs/documentation/etalonirovka.html Странно, в listUrl он существует. Асистент отображает мой хелп нормально.Название: Re: QHelpEngineCore - немогу запустить. Отправлено: -QT- от Май 13, 2009, 08:40 В итоге:
Хелп работает. 1. Переместил все файлы для генерации справки в один каталог. 2. Унаследовался от QTextBrowser 3. Запихнул .qch .qhc файлы в ресурсы и перед запуском справки копирую их в отдельный каталог (у меня это - ./tmp) по другому не работает. |