Название: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 13, 2010, 14:05 Как её сделать? Плиз, помогите... Пробовала делать через QAssistantClient, как там сделать содержание?? и поиск по ключевым словам?
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: Sahab от Июль 13, 2010, 15:08 QtHelp (http://doc.qt.nokia.com/4.7-snapshot/qthelp.html)
+ сорцы ассистанта в QTDIR думаю найдешь... Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 13, 2010, 15:10 Я читала документацию и по assistant и по QClientAssistant и QHelp, но как этим пользоваться примеров нет, не пойму. как напрмер генерировать файлы содержания???
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 13, 2010, 15:15 QtHelp (http://doc.qt.nokia.com/4.7-snapshot/qthelp.html) + сорцы ассистанта в QTDIR думаю найдешь... если вы делали справку, подскажите что нужно делать, как создать содержание, указатель и как подключить это к проекту, маленький примерчик, если не жалко Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: Sahab от Июль 13, 2010, 15:20 http://doc.qt.nokia.com/4.6/qthelpproject.html (http://doc.qt.nokia.com/4.6/qthelpproject.html)
генерится "вручную" + qhelpgenerator + qcollectiongenerator в зависимости от Ваших потребностей. Цитировать The contents can then be retrieved via the QHelpEngine class and can be displayed in nearly any form. Showing it in a QTextBrowser is probably the most common way, but embedding it in What's This help is also perfectly possible. Retrieving help data from the file engine does not involve a lot of code. The first step is to create an instance of the help engine. Then we ask the engine for the links assigned to the identifier, in this case "MyDialog::ChangeButton". If a link was found, meaning at least one help document exists to this topic, we get the actual help contents by calling fileData() and display the document to the user. Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: igor_bogomolov от Июль 13, 2010, 15:56 http://doc.crossplatform.ru/qt/4.6.x/qthelpproject.html
http://doc.crossplatform.ru/qt/4.6.x/qthelp-framework.html Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 13, 2010, 16:44 >>но как этим пользоваться примеров нет
и всё таки примеры есть: %QTDIR%\examples\help\ Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 14, 2010, 14:06 >>но как этим пользоваться примеров нет и всё таки примеры есть: %QTDIR%\examples\help\ в этих примерах понятно только как подключиться к процессу assistant, а как генерить файлы справки непонятна) Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: Гурман от Июль 14, 2010, 14:33 присоединяюсь к вопросу
делать еще много надо, а экспериментировать с хелпом нет времени, нужен подробный мануал, но Шлее класс QHelp проигнорировал Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 14, 2010, 15:00 igor_bogomolov и sahab, спасибо за помощь все получилось, только единственная проблема, у меня процесс assistant на английском языке, его гденибудь можно достать на русском??
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 14, 2010, 15:24 присоединяюсь к вопросу делать еще много надо, а экспериментировать с хелпом нет времени, нужен подробный мануал, но Шлее класс QHelp проигнорировал сначала создаешь файл *.qhp, в формате XML, вида: Код: <?xml version="1.0" encoding="UTF-8"?> потом процессом qhelpgenerator(он находится в QTDIR\bin) генерируется файл *.qch, командой: Код: qhelpgenerator doc.qhp -o doc.qch потом создаешь файл *.qhcp в формате XML, вида: Код: <?xml version="1.0" encoding="UTF-8"?> и процессом qcollectiongenerator генеришь файл .qhс, так: Код: qcollectiongenerator mycollection.qhcp -o mycollection.qhc далее, как в примере из папки QTDIR\examples\help\simpletextviewer, подключаешься к процессу assistant Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: Гурман от Июль 14, 2010, 16:52 Цитировать сначала создаешь файл *.qhp, в формате XML, потом процессом qhelpgenerator генерируется файл *.qch, потом создаешь файл *.qhcp в формате XML и процессом qcollectiongenerator генеришь файл .qhс, он используется процессом assistant спасибо конечно, но подробным мануалом это назвать трудно... ;D Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 14, 2010, 20:51 >>у меня процесс assistant на английском языке
qm-файлы асистента нужны Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 15, 2010, 08:22 >>у меня процесс assistant на английском языке qm-файлы асистента нужны понятно, то есть надо найти файл перевода на русский язык, а потом пересобрать ассистант из папки tools, но у меня прикомпиляции возникает куча ошибок) Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 15, 2010, 08:34 Цитировать сначала создаешь файл *.qhp, в формате XML, потом процессом qhelpgenerator генерируется файл *.qch, потом создаешь файл *.qhcp в формате XML и процессом qcollectiongenerator генеришь файл .qhс, он используется процессом assistant спасибо конечно, но подробным мануалом это назвать трудно... ;D я более подробно написала, см выше Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: Гурман от Июль 15, 2010, 09:59 Цитировать я более подробно написала, см выше и каким инструментарием это создается? не руками же это все писать, особенно .qhp, те же keywords в нормальном случае вообще должны автоматом генериться из текста Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 15, 2010, 10:14 Цитировать я более подробно написала, см выше и каким инструментарием это создается? не руками же это все писать, особенно .qhp, те же keywords в нормальном случае вообще должны автоматом генериться из текста возможно, но я этим ограничилась Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 15, 2010, 10:17 с переводом проблема получается, assistant берет файл из папки QTDIR\bin\translations, то есть чтобы он брал из папки приложения, его надо перекомпилировать, а при компиляции возникает куча ошибок(
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 15, 2010, 10:18 может быть у когонибудь есть скомпилированный таким образом assistant??
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: Гурман от Июль 15, 2010, 10:50 Цитировать возможно, но я этим ограничилась если хелп небольшой - то можно и руками у меня уже есть документация, которая просто в печатном виде 11-м кеглем занимает 160 страниц А4, и "ключевых слов" там не менее 50% по всему тексту... M$ Help Workshop все это автоматизирует - есть ли такой инструментарий для Qt? Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 15, 2010, 11:45 >>а потом пересобрать ассистант
ничего пересобирать не надо. На машине, где Qt установлена сам асистент переведён? Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 15, 2010, 12:31 >>а потом пересобрать ассистант ничего пересобирать не надо. На машине, где Qt установлена сам асистент переведён? а если приложение запускается на машине, где не установлен qt?? в общем я пересобрала assistant.exe и он беред перевод из папки translations, которая находится в моем проекте Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 15, 2010, 19:02 >>он беред перевод из папки translations
он и так его там берёт. Код
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: кып от Июль 16, 2010, 16:03 >>а потом пересобрать ассистант ничего пересобирать не надо. Т.е. можно вот так просто использовать assistant в качестве движка справки в своей программе? Сейчас попробовал на машине без qt запустить assistant, так он за чем то требует phonon4.dll, и все равно не запустился, с ошибкой "не удалось загрузить драйвер MySql" Это-то ему зачем? Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 17, 2010, 17:28 >>он беред перевод из папки translations он и так его там берёт. Код
может быть у вас и берет каким-то чудесным образом, но я открыла исходники assistant'a, файлы перевода он однозначно берет из папки QTDIR\translations, файлы перевода - assistant_ru.qm, qt_ru.qm b qt_help_ru.qm Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 17, 2010, 17:33 >>а потом пересобрать ассистант ничего пересобирать не надо. Т.е. можно вот так просто использовать assistant в качестве движка справки в своей программе? Сейчас попробовал на машине без qt запустить assistant, так он за чем то требует phonon4.dll, и все равно не запустился, с ошибкой "не удалось загрузить драйвер MySql" Это-то ему зачем? значит надо добавить в проект все dll'ки, которые он требует Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 17, 2010, 22:17 >>берет из папки QTDIR\translations
да и ещё плагины берутся вашим приложением из %QTDIR%\plugins. однако в отсутствии Qt на машине пользователя, приложение всётаки откуда-то берёт плагины. Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 17, 2010, 23:06 забыл упомянуть. рядом с приложением кладётся пустой файл с именем
qt.conf Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: кып от Июль 19, 2010, 19:48 значит надо добавить в проект все dll'ки, которые он требует Это и так ясно. Но тем не менее "Cannot load sqlite database driver!" забыл упомянуть. рядом с приложением кладётся пустой файл с именем qt.conf А вот это с какой целью? Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 19, 2010, 23:13 >>А вот это с какой целью?
с целью изменения расположения корневого каталога Qt, теперь им будет считаться каталог приложения Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: sarbash от Июль 20, 2010, 07:45 В справке вообще написано, что для плагинов основным каталогом считается каталог исполняемого файла приложения и для остального та же система, если на машине Qt нету.
По крайней мере, на Винде и без qt.conf всё так работает. В общем, в справке всё написано... Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 22, 2010, 11:53 забыл упомянуть. рядом с приложением кладётся пустой файл с именем qt.conf lit-uriy, спасибо за совет, возможно файл помог бы) Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 22, 2010, 11:58 В справке вообще написано, что для плагинов основным каталогом считается каталог исполняемого файла приложения и для остального та же система, если на машине Qt нету. По крайней мере, на Винде и без qt.conf всё так работает. В общем, в справке всё написано... без файла на винде 7 не работало) Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: nata267 от Июль 22, 2010, 12:00 значит надо добавить в проект все dll'ки, которые он требует Это и так ясно. Но тем не менее "Cannot load sqlite database driver!" это уже другая тема, dll необходимые для работы sqlite Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: кып от Июль 22, 2010, 13:00 это уже другая тема, dll необходимые для работы sqlite Это очевидно. Если положить рядом \sqldrivers\qsqlite4.dll все естественно работает. Вопрос то был зачем оно асистанту? Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 22, 2010, 13:52 >>Вопрос то был зачем оно асистанту?
ну это и в документации написано, что Асистент использует SQLite для хранения документации. Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: кып от Июль 22, 2010, 15:15 >>Вопрос то был зачем оно асистанту? Т.е. SQLite встроен в assistant.exe? Я правильно понимаю?ну это и в документации написано, что Асистент использует SQLite для хранения документации. Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: crossly от Июль 22, 2010, 16:12 тут почти целую страницу изливались по поводу qsql4.dll .... откуда такая мысль взялась??
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Июль 22, 2010, 21:29 >>Т.е. SQLite встроен в assistant.exe? Я правильно понимаю?
это зависит от того, как собрана библиотека Qt (как именно поддерживается драйвер). Он может быть в виде плагина, а может быть вкомпилен внутрь QtSql, а может использоваться тот, который установлен в отдельно. Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: кып от Август 03, 2010, 12:24 тут почти целую страницу изливались по поводу qsql4.dll .... откуда такая мысль взялась?? Это о какой мысли вопрос?>>Т.е. SQLite встроен в assistant.exe? Я правильно понимаю? Да я не про драйвер, а про сам движок SQLite.это зависит от того, как собрана библиотека Qt (как именно поддерживается драйвер). Он может быть в виде плагина, а может быть вкомпилен внутрь QtSql, а может использоваться тот, который установлен в отдельно. Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Август 03, 2010, 16:28 >>Да я не про драйвер, а про сам движок SQLite.
В данном случае мот ответ будет тем же. Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: iroln от Октябрь 27, 2011, 12:28 Поднимем тему :)
Всем привет! Решил поэкспериментировать с докой в Qt. Проблема в том, что в Assistant страницы отображаются некорректно, словно стили поломаны или не подгружаются нужные данные. Для проверки сгенерировал документацию через Sphinx (http://sphinx.pocoo.org/). В qhp файле указал все файлы (html, css, js, png...). Добавляю полученный qch файл в ассистант и получаю совершенно некорректное отображение. Не пойму чего ему не нравится, ассистант не умеет показывать то, что нагенерировал Sphinx, а почему тогда браузеры умеют? :) Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: lit-uriy от Октябрь 29, 2011, 20:52 iroln, асистент какой версии?
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: panAlexey от Октябрь 29, 2011, 21:09 M$ Help Workshop все это автоматизирует - есть ли такой инструментарий для Qt? я обычно клепаю нечто вроде index.html, потом прохожусь скриптом:Код: ' Готовим файл "Table of Contents_.hhc" для "HTML Help Workshop" но чето не айс уже такой зевей. хочется нормальной справкомейкалки. Может http://code.google.com/p/sigil/ допилить? Редактор там уже есть ;) Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: panAlexey от Октябрь 29, 2011, 21:11 Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: iroln от Октябрь 29, 2011, 22:37 Assistant'ы разных версий пробовал. 4.7.4, 4.7.2, 4.7.0. Нигде не отображается корректно. Все проверенные ассистанты зависят от QWebKit, значит движок вэбкитовский используется (ну я так думаю), почему он так криво показывает страницы - не понятно. Может ему не нравятся сложные страницы, где всякие сложные CSS, JS, короче такие, какие Sphinx генерирует. Я в web стандартах не особо разбираюсь, поэтому найти проблему для меня проблема. :)
Название: Re: Люди, кто делал справочную систему на qt?? Отправлено: iroln от Октябрь 31, 2011, 16:02 Отрыл в гугле тему 3-х летней давности.
http://www.mail-archive.com/sphinx-dev@googlegroups.com/msg00732.html Там чел столкнулся с той же проблемой. Даже какой-то патч сделали для сфинкса, но чего-то я так и не понял, включили они его или нет, вроде включили, но как с этим работать - хз. Вот тут в исходниках Sphinx'а лежит файл qthelp.py http://www.bitbucket.org/birkenfeld/sphinx/src/tip/sphinx/builders/ В общем, с билдером для Qt тоже криво работает. По сути он там ничего не делает, только тулбар боковой убирает. Проблема в Qt. Похоже просто что-то не поддерживается http://doc.trolltech.com/4.4/richtext-html-subset.html |