1. 程式人生 > >基於Qt Assistant制作軟件幫助文檔

基於Qt Assistant制作軟件幫助文檔

document query csdn 自己的 點擊 about files man reat

Qt Assistant是Qt自帶的一款可定制、可重新發行的幫助文件瀏覽器。Qt Assistant支持HTML文件,用戶可以利用其定制自己的功能強大的幫助文檔瀏覽器。關於Qt Assistant定制的資料主要是Qt Assistant自身所帶的英文文檔,雖然講解比較詳細,但是對於初學者來說難以快速的入手。因此結合具體實踐,對Qt Assistant定制的過程進行整理,希望對他人能有所啟發。

技術分享圖片
定制過程中用到qhp,qch,qhcp,qhc四種不同格式的文件。對於這四種文件,初學者可能會經常混淆。首先講解一下這四種文件格式。這四種文件可以分為兩組:

(1)qhp與qch。qhp是Qt Help Project的縮寫,qch是Qt Compressed Help的縮寫。qhp文件負責組織實際用到的幫助文件(通常為HTML文件,即需要在Qt Assistant中瀏覽的文件),然後通過qhelpgenerator命令生成壓縮的qch文件。qch文件是Qt Assistant能夠識別的文檔最小單元,可以通過Qt Assistant->編輯->首選項->文檔標簽頁->添加/移除操作來註冊或者註銷一個qch文件。也可以通過命令“assistant -register doc.qch”來註冊qch文件。註冊後,即可在Assistant界面中瀏覽幫助文檔。

(2)qhcp和qhc。qhcp是Qt Help Collection Project的縮寫,其主要作用是將qch二進制文件組織成為一個collection,定制客戶化的Assistant;而qhc則是通過qcollectiongenerator命令生成的二進制文件,啟動Assistant時需要指定collection參數,即qhc文件。qhc文件中是qch文件的集合,打開Assistant時,通過指定當前collection即可註冊多個幫助文檔。

從上面文件的解釋看,我們需要手動完成兩個文件即qhp和qhcp文件,通過這兩個文件再生成最終需要的qch和qhc文件。qhp和qhcp文件都是XML文件,語法比較簡單,這裏不對語法進行詳細介紹,具體可查看Qt Assistant幫助文檔。下面結合我在項目中對Assistant定制的過程進行總結,並給出了用到的qhp和qhcp文件的內容,這樣更有助於從整體上對該過程進行把握。
下面就是制作步驟:
(1)制作HTML的幫助文件。HTML文件就是把你需要闡述的內容用很多HTML文件表述出來。比如說我的如下圖所示:image文件夾用來存放幫助文檔需要使用的所有圖片,其他html文件就是闡述的內容:
技術分享圖片
(2)編寫qhp文件。下面是在項目中用到qhp文件,文件比較簡單,這裏僅用到了基本的功能,具體語法可以查看幫助文檔。這裏需要註意的是通過標簽指定幫助文檔目錄,這裏可以是多級目錄,但是Qt中建議不超過四級。指定目錄後,需要通過來指定所有用到的HTML文件,包括HTML文件中用到的所有圖片。這裏如果不指定,生成的qch文件註冊到Qt Assistant後將不能找到有效的文件進行顯示。我的qph文件如下所示:

點擊(此處)折疊或打開

  1. <?xml version="1.0" encoding="GB2312"?>
  2. <QtHelpProject version="1.0">
  3. <namespace>bookmisClient.helpDoc</namespace>
  4. <virtualFolder>doc</virtualFolder>
  5. <filterSection>
  6. <toc>
  7. <section title="首頁" ref="./index.html">
  8. <section title="用戶登錄" ref="./userlogon.html"></section>
  9. <section title="書籍查詢" ref="./bookquery.html"></section>
  10. <section title="續借書籍" ref="./Renewal.html"></section>
  11. <section title="系統管理" ref="./systemmanage.html"></section>
  12. <section title="日誌管理" ref="./log.html"></section>
  13. <section title="關於" ref="./about.html"></section>
  14. </section>
  15. </toc>
  16. <files>
  17. <file>index.html</file>
  18. <file>userlogon.html</file>
  19. <file>bookquery.html</file>
  20. <file>Renewal.html</file>
  21. <file>systemmanage.html</file>
  22. <file>log.html</file>
  23. <file>about.html</file>
  24. <file>image/*.png</file>
  25. </files>
  26. </filterSection>
  27. </QtHelpProject>
(3)生成qch文件。qhp文件完成後,通過qhelpgenerator命令生成壓縮的qch文件。打開cmd,輸入" qhelpgenerator helpDoc.qhp -o helpDoc.qch "。這裏helpDoc.qhp為輸入的qhp文件,-o表示輸出,輸出文件名為helpDoc.qch。如果你的.qch文件在其它文件夾,在輸入命令的時候需要加入.qch文件所在目錄,同時HTML文件也必須在此目錄下:比如所我的:
技術分享圖片
(4)編寫qhcp文件。qhcp中主要是對用到的qch文件進行組織,項目中用到的一個簡單的qhcp文件如下:我的helpDoc.qhcp:

點擊(此處)折疊或打開

  1. <?xml version="1.0" encoding="GB2312"?>
  2. <QHelpCollectionProject version="1.0">
  3. <assistant>
  4. <title>圖書管理客戶端幫助文檔</title>
  5. <applicationIcon>image/lib.png</applicationIcon>
  6. <cacheDirectory>cache/helpDoc</cacheDirectory>
  7. <homePage>qthelp://bookmisClient.helpDoc/doc/index.html</homePage>
  8. <startPage>qthelp://bookmisClient.helpDoc/doc/index.html</startPage>
  9. <aboutMenuText>
  10. <text>關於</text>
  11. </aboutMenuText>
  12. <aboutDialog>
  13. <file>./about.txt</file>
  14. <icon>image/lib.png</icon>
  15. </aboutDialog>
  16. <enableDocumentationManager>false</enableDocumentationManager>
  17. <enableAddressBar>false</enableAddressBar>
  18. <enableFilterFunctionality>false</enableFilterFunctionality>
  19. </assistant>
  20. <docFiles>
  21. <generate>
  22. <file>
  23. <input>helpDoc.qhp</input>
  24. <output>helpDoc.qch</output>
  25. </file>
  26. </generate>
  27. <register>
  28. <file>helpDoc.qch</file>
  29. </register>
  30. </docFiles>
  31. </QHelpCollectionProject>
從以上可以看出,在qhcp文件中多了一個標簽,並指定了輸入qhp文件,和輸出qch文件。文件裏面可以指定多個qhp和qch,只要註意好文件直接的對應關系就可以了。

(5)生成qhc文件。通過qcollectiongenerator命令生成qhc文件,格式如下:“qcollectiongenerator helpDoc.qhcp -o helpDoc.qhc "。這裏helpDoc.qhcp文件輸入的qhcp文件,-o表示輸出,helpDoc.qhc為生成的qhc文件名稱。此編譯也需要註意目錄問題:我編譯的截圖:
技術分享圖片

(6)運行Qt Assistant。可以通過命令“assistant -collectionfile helpDoc.qhc”打開assistant,打開後即可瀏覽到我們自己的幫助文檔了。當然如果是在程序中,可以通過QProcess來調用assistant.exe,並給出相應的collectionfile參數即可。命令運行:
技術分享圖片
幫助文檔:
技術分享圖片
最後在QT Creator裏就可以調用此幫助文檔,具體實現可參考下面的下載:
http://download.csdn.net/detail/rojian2010/5353368

https://blog.csdn.net/u014213012/article/details/54318137

基於Qt Assistant制作軟件幫助文檔