Russian Qt Forum

Qt => Общие вопросы => Тема начата: nata267 от Июль 13, 2010, 14:05



Название: Люди, кто делал справочную систему на 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"?>
<QtHelpProject version="1.0">
    <namespace>com.trolltech.examples.simpletextviewer</namespace>
    <virtualFolder>doc</virtualFolder>
    <filterSection>
        <toc>
            <section title="Simple Text Viewer" ref="index.html">
                <section title="Find File" ref="./findfile.html">
                    <section title="File Dialog" ref="./filedialog.html"></section>
                    <section title="Wildcard Matching" ref="./wildcardmatching.html"></section>
                    <section title="Browse" ref="./browse.html"></section>
                    </section>
                <section title="Open File" ref="./openfile.html"></section>
                </section>
            </toc>
        <keywords>
            <keyword name="Display" ref="./index.html"/>
            <keyword name="Rich text" ref="./index.html"/>
            <keyword name="Plain text" ref="./index.html"/>
            <keyword name="Find" ref="./findfile.html"/>
            <keyword name="File menu" ref="./findfile.html"/>
            <keyword name="File name" ref="./filedialog.html"/>
            <keyword name="File dialog" ref="./filedialog.html"/>
            <keyword name="File globbing" ref="./wildcardmatching.html"/>
            <keyword name="Wildcard matching" ref="./wildcardmatching.html"/>
            <keyword name="Wildcard syntax" ref="./wildcardmatching.html"/>
            <keyword name="Browse" ref="./browse.html"/>
            <keyword name="Directory" ref="./browse.html"/>
            <keyword name="Open" ref="./openfile.html"/>
            <keyword name="Select" ref="./openfile.html"/>
            </keywords>
        <files>
            <file>browse.html</file>
            <file>filedialog.html</file>
            <file>findfile.html</file>
            <file>index.html</file>
            <file>intro.html</file>
            <file>openfile.html</file>
            <file>wildcardmatching.html</file>
            <file>images/browse.png</file>
            <file>images/fadedfilemenu.png</file>
            <file>images/filedialog.png</file>
            <file>images/handbook.png</file>
            <file>images/mainwindow.png</file>
            <file>images/open.png</file>
            <file>images/wildcard.png</file>
            </files>
        </filterSection>
    </QtHelpProject>
Если в файле есть русские слова, заменяешь кодировку на WINDOWS-1251

потом процессом qhelpgenerator(он находится в QTDIR\bin) генерируется файл *.qch, командой:

Код:
qhelpgenerator doc.qhp -o doc.qch

 потом создаешь файл *.qhcp в формате XML, вида:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<QHelpCollectionProject version="1.0">
    <assistant>
        <title>Simple Text Viewer</title>
        <applicationIcon>images/handbook.png</applicationIcon>
        <cacheDirectory>Trolltech/SimpleTextViewer</cacheDirectory>
        <startPage>qthelp://com.trolltech.examples.simpletextviewer/doc/index.html</startPage>
        <aboutMenuText>
            <text>About Simple Text Viewer</text>
        </aboutMenuText>
        <aboutDialog>
            <file>about.txt</file>
            <icon>images/icon.png</icon>
        </aboutDialog>
        <enableDocumentationManager>false</enableDocumentationManager>
        <enableAddressBar>false</enableAddressBar>
        <enableFilterFunctionality>false</enableFilterFunctionality>
    </assistant>
    <docFiles>
        <generate>
            <file>
                <input>simpletextviewer.qhp</input>
                <output>simpletextviewer.qch</output>
                </file>
            </generate>
        <register>
            <file>simpletextviewer.qch</file>
            </register>
        </docFiles>
    </QHelpCollectionProject>

 и процессом 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
он и так его там берёт.
Код
Bash
\ (каталог программы)
|-myprogramm.exe - собственная программа
|-assistant.exe - асистент тролей
|-translations
   |-assistant.qm
   |-qt.qm
 
 


Название: Re: Люди, кто делал справочную систему на qt??
Отправлено: кып от Июль 16, 2010, 16:03
>>а потом пересобрать ассистант
ничего пересобирать не надо.

Т.е. можно вот так просто использовать assistant в качестве движка справки в своей программе?
Сейчас попробовал на машине без qt запустить assistant, так он за чем то требует phonon4.dll, и все равно не запустился, с ошибкой "не удалось загрузить драйвер MySql"
Это-то ему зачем?



Название: Re: Люди, кто делал справочную систему на qt??
Отправлено: nata267 от Июль 17, 2010, 17:28
>>он беред перевод из папки translations
он и так его там берёт.
Код
Bash
\ (каталог программы)
|-myprogramm.exe - собственная программа
|-assistant.exe - асистент тролей
|-translations
   |-assistant.qm
   |-qt.qm
 
 

может быть у вас и берет каким-то чудесным образом, но я открыла исходники 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 для хранения документации.
Т.е. SQLite встроен в assistant.exe? Я правильно понимаю?


Название: 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? Я правильно понимаю?
это зависит от того, как собрана библиотека Qt (как именно поддерживается драйвер). Он может быть в виде плагина, а может быть вкомпилен внутрь QtSql, а может использоваться тот, который установлен в отдельно.
Да я не про драйвер, а про сам движок SQLite.


 


Название: 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"
' из файла "index.html/index.html", а то парит каждый раз оглавление ручками
' делать...
'
'... Просто запусти в каталоге с "index.html"
'Автор Трошин Дмитрий, ака trdm 2007 год
' ICQ 308-779-620
'
' © trdm 2007 GNU

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")

Dim TextStream
Dim glTextStart
Dim glTextEnd


Dim RE
Set RE = New RegExp
RE.IgnoreCase = true
RE.Global = True
RE.Multiline = True

' Нарисуем фрагмент оглавления....
Function GetTextArticle( psLinkText, psTitleText, psIndent )
valRet = ""
' Пробел кодируется > '%20'
tFileName = psLinkText
if InStr(psLinkText,"#")>0 Then
tFileName = Left(psLinkText,InStr(psLinkText,"#")-1)
End IF
tFileName = Replace(tFileName, "%20"," ")

bFileExist = FSO.FileExists(tFileName)

if bFileExist or Len(tFileName)=0 Then
valRet = valRet + psIndent + " <LI> <OBJECT type=""text/sitemap"">" + vbcrlf
valRet = valRet + psIndent + " <param name=""Name"" value="""+psTitleText+""">" + vbcrlf
valRet = valRet + psIndent + " <param name=""Local"" value="""+psLinkText+""">" + vbcrlf
valRet = valRet + psIndent + " </OBJECT>" + vbcrlf
end if
GetTextArticle = valRet
End Function

Private Function FindInStrEx (patrn, strng)
  FindInStrEx = ""
  on error resume next
  RE.Pattern = patrn ' Set pattern.
  Set Matches = RE.Execute(strng) ' Execute search.
  if err.number<>0 Then
message Err.Description
exit Function
  End If
  on error goto 0
  RetStr = ""
  For Each Match in Matches ' Iterate Matches collection.
if Len(RetStr)>0 Then
RetStr = RetStr & vbCrLf & Match.Value
else
RetStr = Match.Value
    End if
  Next
  FindInStrEx = RetStr
End Function

Function ReRelpace222(patrn, strng, strTo)
  ReRelpace = ""
  on error resume next
  RE.Pattern = patrn ' Set pattern.
  strng = RE.Replace(strng,strTo)
  if err.number<>0 Then
message Err.Description
exit Function
  End If
  on error goto 0
  RetStr = ""
  ReRelpace = RetStr
End Function




Sub MakeHelps2( psPath, psAllText)
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate psPath
While objIE.Busy
   Wscript.Sleep 200
Wend

set Document = objIE.Document
set coll = document.all.tags("A")
if Not IsObject(coll) Then
exit sub
end if
stop
tPathDoc = Document.location.pathname
' "/D:/Progekts/chm/OpenNET_docs/_%20No_CHM/autoconf-prog/index.html"
tPathDocA = Split(tPathDoc,"/")
tPathDoc1 = ""
for i=1 To UBound(tPathDocA)-1
tPathDoc1 = tPathDoc1 + tPathDocA(i) + "/"
Next
nnn = ""
for i=0 to  coll.length-1
set item = coll.item(i)
nnn = nnn + item.title + vbcrlf
' item.href "file:///D:/Progekts/chm/OpenNET_docs/_%20No_CHM/XML-web/index.html#sec-bibliography" String
'item.outerText "Ссылки" String
'item.pathname "D:/Progekts/chm/OpenNET_docs/_%20No_CHM/XML-web/index.html" String
' Мне нужен путь относительно переданного, но только файлы, следовательно:
If Left(item.href,8) = "file:///" Then
textRef = Replace(item.href,"file:///","")
textRef = Replace(textRef, tPathDoc1,"")
' теперь в textRef чистая ссылка...
textTitle = item.outerText
' и в принцыпе можно запускать генерацию текста
psAllText = psAllText + GetTextArticle( textRef, textTitle, " " )

End If
next
End Sub


Sub MakeHelps()
strFileIndex = "index.html"
strFileIndex2 = "Table of Contents_.hhc"
For i = 1 to 2
if i = 1 Then
strFileIndex = "index.html"
Else
strFileIndex = "index.htm"
End If
if Not FSO.FileExists(strFileIndex) Then
'MsgBox strFileIndex+" Not Exist"
strFileIndex = ""
else
Exit For
End If
Next

Set SvcService = CreateObject("Svcsvc.Service")
strFileIndex = SvcService.SelectFile(False, ""+strFileIndex, "htm, html - files|*.*")

if strFileIndex = "" Then
MsgBox "File ''index.html'' or ''index.htm'' Not Exist!"
exit Sub
End If

stop


tText2 = ""

Set TextStream2 = FSO.CreateTextFile(strFileIndex2)

Set objFile = FSO.GetFile(strFileIndex)
if Not LCase(objFile.Type) = "html document" Then Exit Sub

Set TextStream1= objFile.OpenAsTextStream(1)

tText2 = tText2 + GetTextArticle( strFileIndex, "Содержание","")
tText2 = tText2 + " <UL>" + vbcrlf

MakeHelps2  strFileIndex, tText2



TextStream2.Write glTextStart
TextStream2.Write tText2
TextStream2.Write glTextEnd
TextStream1.Close
TextStream2.Close

MsgBox "Готово!" + tTextAllL
End Sub

' Стартовый текст в *.hhc
glTextStart = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//EN"">" + vbcrlf
glTextStart = glTextStart + "<HTML>" + vbcrlf
glTextStart = glTextStart + "<HEAD>" + vbcrlf
glTextStart = glTextStart + "<meta name=""GENERATOR"" content=""Microsoft&reg; HTML Help Workshop 4.1"">" + vbcrlf
glTextStart = glTextStart + "<!-- Sitemap 1.0 -->" + vbcrlf
glTextStart = glTextStart + "</HEAD><BODY>" + vbcrlf
glTextStart = glTextStart + "<OBJECT type=""text/site properties"">" + vbcrlf
glTextStart = glTextStart + " <param name=""Window Styles"" value=""0x800025"">" + vbcrlf
glTextStart = glTextStart + "</OBJECT>" + vbcrlf
glTextStart = glTextStart + "<UL>" + vbcrlf


glTextEnd = glTextEnd + " </UL>" + vbcrlf
glTextEnd = glTextEnd + "</UL>" + vbcrlf
glTextEnd = glTextEnd + "</BODY></HTML>" + vbcrlf

MakeHelps
а потом подсовывал результат M$ Help Workshop-у.
но чето не айс уже такой зевей.
хочется нормальной справкомейкалки.
Может http://code.google.com/p/sigil/ допилить? Редактор там уже есть ;)


Название: Re: Люди, кто делал справочную систему на qt??
Отправлено: panAlexey от Октябрь 29, 2011, 21:11
iroln, асистент какой версии?
+1
в 4.7.4. поломан вебвьюв.


Название: 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