分类:
2011-06-03 17:25:29
原文地址:基于Qt Assistant的软件帮助系统 作者:landuochong
定制过程中用到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的帮助文件。由于原来的帮助文档是利用Word完成的,因此需要转换。转换的过程十分简单,即便对HTML不了解的用户也可以轻松完成。目前网络上有许多现成的HTML编辑器,利用这些编辑器即可轻松的进行编辑生成相应的html文件。
(2)编写qhp文件。下
面是在项目中用到qhp文件,文件比较简单,这里仅用到了基本的功能,具体语法可以查看帮助文档。这里需要注意的是通过
.....................................................................
(3)生成qch文件。qhp文件完成后,通过qhelpgenerator命令生成压缩的qch文件。打开cmd,输入" qhelpgenerator doc.qhp -o doc.qch "。这里doc.qhp为输入的qhp文件,-o表示输出,输出文件名为doc.qch。
(4)编写qhcp文件。qhcp中主要是对用到的qch文件进行组织,项目中用到的一个简单的qhcp文件如下:
从文件中可以看出,只需要在register标签中指定相应的qch文件名称即可。当前这里必须确保在qhcp文件目录下存在指定的qch文件。为了避免因为忘记生成qch文件而造成错误,qhcp中支持通过指定qhp文件从一次生成相应的qch和qhc文件。格式如下:
doc.qhp
从以上可以看出,在qhcp文件中多了一个
(5)生成qhc文件。通 过qcollectiongenerator命令生成qhc文件,格式如下:“qcollectiongenerator doc.qhcp -o doc.qhc "。这里doc.qhcp文件输入的qhcp文件,-o表示输出,doc.qhc为生成的qhc文件名称。
在编写qhcp文件时,建议采用(4)中的第二种方式,这样只需要一个命令即可生成qch和qhc文件,也避免了因为遗漏qch文件而造成qhc文件错误。
(6)运行Qt Assistant。可 以通过命令“qassistant -collectionfile doc.qhc”打开qassistant,打开后即可浏览到我们自己的帮助文档了。当然如果是在程序中,可以通过QProcess来调用 assistant.exe,并给出相应的collectionfile参数即可。具体可参考: