基于Qt Assistant制作软件帮助文档

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

原文地址:https://www.cnblogs.com/findumars/p/9094473.html

时间: 2024-08-04 17:23:51

基于Qt Assistant制作软件帮助文档的相关文章

基于adt bundle for windows-的AndroidOpenCV安装文档说明

基于adt bundle for windows-的AndroidOpenCV安装文档说明 任薛纪 说明:本文档是基于快速搭建android开发平台adt bundle for windows软件的AndroidOpenCV运行环境搭建,主要参考OpenCV官方文档: http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/android_dev_intro.html,如手动安装eclipse.

软件测试计划文档(初)

软件测试计划文档 1.引言 1.1 编写目的 满足大学生选课需求,解决选课难的问题 1.2 项目背景 如今,网上选课已成为大学生必经之路,但是普通的官方系统难以满足大学生需求,我们拟在大学内推广该软件以解决大学选课难的问题 1.3 术语定义 Ad hoc testing(随机测试),没有书面测试用例.记录期望结果.检查列表.脚本或指令的测试.主要是根据测试者的经验对软件进行功能和性能抽查.随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程. Alpha te

软件project文档中的数据库模型设计

背景:软件project文档之<数据库设计说明书>的结构设计部分要明白规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型.那么.何为数据库的概念模型.逻辑模型.物理模型呢? 反思:当初学习<数据库系统原理>的时候理解不太透彻.亡羊补牢,为时未晚! 概念模型 官方解释:概念设计是依据用户的需求设计数据库的概念结构.它以规范的形式,表达了对用户需求所设计事物的理解,本阶段涉及到术语:实体.实体集.属性.实体标识符. 通俗解释:概念模型就

重磅!我组软件测试计划文档发布!

本文档由蹭一蹭软工项目小组撰写,任何复制.使用本文的全部或部分内容的行为必须先征得小组同意,谢谢. 文档:软件测试计划文档 引言 1.1编写目的 编写本测试计划的目的是: (1)     为整个测试阶段的管理工作和技术工作提供指南同时确定测试的内容和范围,为评价系统提供依据: (2)     此外还帮助安排测试活动,说明对资源的需求: (3)     说明测试结果的评价指标. 本文档的主要内容包括: (1)     测试系统简介 (2)     测试方法 (3)     测试标准 (4)    

软件概要设计文档(终)

软件概要设计文档 1.引言 1.1目的 该文档的目的是描述辅助选课系统的概要设计,主要内容包括系统功能简介.系统结构设计.系统结构设计.系统接口设计.模块设计和界面设计等. 本文档预期的读者包括设计人员.开发人员.项目管理人员.测试人员. 1.2范围 1.2.1系统目标 开发一个支持学生选课并辅助学生选课的APP. 1.2.2主要软件需求 该系统主要功能包括: l  用户登录 l  用户选课 l  查看课表 l  辅助选课 l  信息更新 1.2.3软件设计约束 软件支持单键盘.单鼠标的物理结构

软件测试计划文档(改)

软件测试计划文档 项目名称:英雄达拉崩吧 小组名称:Scientific_ZEAL软工小分队 项目负责人:刘帅 小组成员:房渤萱 张赐 宋从智 冯惠妍 1.    引言 1.1编写目的 为了尽可能的找出软件的不足,提高软件的质量,促进软件的成功验收,给用户尽可能好的体验.编写本文档.其主要目的在于为所要进行的测试工作制定各种必要的准则和规范,以及在有关方面协议的基础上对测试工作进行合理组织与管理. 1.2项目背景 项目名称:英雄达拉崩吧 项目提出者:Scientific_ZEAL软工小分队 开发

软件设计文档及数据流向图

1 数据流向图:张涛 033  2 软件设计结构图:马冀伟 034 3 软件概要设计详细设计文档:王树才  030 一:数据流向图 二:软件设计结构图 三: 软件概要设计详细设计文档 项目名称:  基于服务器的购物系统 1 数据层: 产生的数据有:物品的基本信息,包括名称, 数量,价格,类别,说明,图片:订单信息,包括订单提交时间,订单详情,订单失效时间:用户信息,包括用户名,登录密码,登录时间: 用户上传自己数据:物品名称,数量,价格,类别,说明,图片,用户手机号. 2 整体结构 1 用户登录

个人小软件——稻米文档助手

一:稻米文档助手是什么? 稻米文档助手是一款用于管理各种小型文档的个人文档管理类工具,而不是个人知识管理类软件. 它用于高效的组织管理我们平时下载收集的各种资料,为我们解决了文档存放位置多.版本多.分类难的困扰. 内置便捷的星级评价功能,有效的提高了文档的使用率. 二:稻米文档助手有什么能耐? (1)多方案支持 DocBox支持同时管理3组方案,在一组方案中,您可以同时自由管理一系列的文档库,针对每一个文档库,可以方便快捷的管理分类及文档. (2)多级分类 DocBox的文档库支持无限级类,依照

软件开发过程文档清单【转】

大家一直在做项目,项目中间过程中产生的文档既是交付给客户的一种“合同”,也是作为整个项目的一种可继承的成果.项目中的人也许会觉得自己很清楚整个项目,没必要费劲去写这些没几个人看的文档.但是其实你写下来的才是真正做出来的,不写下来的东西永远都是口头上的. 下面将一个IT项目过程中所需产生的文档的清单列出来,供大家参考: 1 立项阶段:<项目建议书><可行性研究报告><可研批复> 2 招标阶段:<招标规范书><技术应答书>.. 3 需求分析阶段:&l