Chinaunix首页 | 论坛 | 博客
  • 博客访问: 383875
  • 博文数量: 158
  • 博客积分: 1227
  • 博客等级: 少尉
  • 技术积分: 946
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-20 16:19
文章分类
文章存档

2016年(1)

2015年(1)

2012年(107)

2011年(49)

分类:

2011-06-03 17:25:29

Qt Assistant是Qt自带的一款可定制、可重新发行的帮助文件浏览器。Qt Assistant支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器。关于Qt Assistant定制的资料主要是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的帮助文件。由于原来的帮助文档是利用Word完成的,因此需要转换。转换的过程十分简单,即便对HTML不了解的用户也可以轻松完成。目前网络上有许多现成的HTML编辑器,利用这些编辑器即可轻松的进行编辑生成相应的html文件。

(2)编写qhp文件。下 面是在项目中用到qhp文件,文件比较简单,这里仅用到了基本的功能,具体语法可以查看帮助文档。这里需要注意的是通过

标 签指定帮助文档目录,这里可以是多级目录,但是Qt中建议不超过四级。指定目录后,需要通过来指定所有用到的HTML文件,包括 HTML文件中用到的所有图片。这里如果不指定,生成的qch文件注册到Qt Assistant后将不能找到有效的文件进行显示。

 
 
     org.mitk
     doc
    
        
            


            

          
        
             tutorial.htm
             Tutorial_files/clip_image002.jpg

              .....................................................................
             Tutorial_files/clip_image072.jpg
        
    
 

(3)生成qch文件。qhp文件完成后,通过qhelpgenerator命令生成压缩的qch文件。打开cmd,输入" qhelpgenerator   doc.qhp  -o doc.qch "。这里doc.qhp为输入的qhp文件,-o表示输出,输出文件名为doc.qch。

(4)编写qhcp文件。qhcp中主要是对用到的qch文件进行组织,项目中用到的一个简单的qhcp文件如下:


 
 
         
         doc.qch

         其他的qch文件
    
 
 

从文件中可以看出,只需要在register标签中指定相应的qch文件名称即可。当前这里必须确保在qhcp文件目录下存在指定的qch文件。为了避免因为忘记生成qch文件而造成错误,qhcp中支持通过指定qhp文件从一次生成相应的qch和qhc文件。格式如下:


 
 
    
        
             doc.qhp
             doc.qch
        

    

    
         doc.qch
    

 

 

从以上可以看出,在qhcp文件中多了一个标签,并指定了输入qhp文件,和输出qch文件。文件里面可以指定多个qhp和qch,只要注意好文件直接的对应关系就可以了。

(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参数即可。具体可参考:

阅读(2255) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~