基於Qt Assistant制作軟件幫助文檔
阿新 • • 發佈:2018-05-27
document query csdn 自己的 點擊 about files man reat
定制過程中用到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文件如下所示:
(4)編寫qhcp文件。qhcp中主要是對用到的qch文件進行組織,項目中用到的一個簡單的qhcp文件如下:我的helpDoc.qhcp:
(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
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文件如下所示:
點擊(此處)折疊或打開
- <?xml version="1.0" encoding="GB2312"?>
- <QtHelpProject version="1.0">
- <namespace>bookmisClient.helpDoc</namespace>
- <virtualFolder>doc</virtualFolder>
- <filterSection>
- <toc>
- <section title="首頁" ref="./index.html">
- <section title="用戶登錄" ref="./userlogon.html"></section>
- <section title="書籍查詢" ref="./bookquery.html"></section>
- <section title="續借書籍" ref="./Renewal.html"></section>
- <section title="系統管理" ref="./systemmanage.html"></section>
- <section title="日誌管理" ref="./log.html"></section>
- <section title="關於" ref="./about.html"></section>
- </section>
- </toc>
- <files>
- <file>index.html</file>
- <file>userlogon.html</file>
- <file>bookquery.html</file>
- <file>Renewal.html</file>
- <file>systemmanage.html</file>
- <file>log.html</file>
- <file>about.html</file>
- <file>image/*.png</file>
- </files>
- </filterSection>
- </QtHelpProject>
(4)編寫qhcp文件。qhcp中主要是對用到的qch文件進行組織,項目中用到的一個簡單的qhcp文件如下:我的helpDoc.qhcp:
點擊(此處)折疊或打開
- <?xml version="1.0" encoding="GB2312"?>
- <QHelpCollectionProject version="1.0">
- <assistant>
- <title>圖書管理客戶端幫助文檔</title>
- <applicationIcon>image/lib.png</applicationIcon>
- <cacheDirectory>cache/helpDoc</cacheDirectory>
- <homePage>qthelp://bookmisClient.helpDoc/doc/index.html</homePage>
- <startPage>qthelp://bookmisClient.helpDoc/doc/index.html</startPage>
- <aboutMenuText>
- <text>關於</text>
- </aboutMenuText>
- <aboutDialog>
- <file>./about.txt</file>
- <icon>image/lib.png</icon>
- </aboutDialog>
- <enableDocumentationManager>false</enableDocumentationManager>
- <enableAddressBar>false</enableAddressBar>
- <enableFilterFunctionality>false</enableFilterFunctionality>
- </assistant>
- <docFiles>
- <generate>
- <file>
- <input>helpDoc.qhp</input>
- <output>helpDoc.qch</output>
- </file>
- </generate>
- <register>
- <file>helpDoc.qch</file>
- </register>
- </docFiles>
- </QHelpCollectionProject>
(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制作軟件幫助文檔