基于Qt Assistant制作软件帮助文档
Qt Assistant是Qt自带的一款可定制、可重新发行的帮助文件浏览器。Qt Assistant支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器。关于Qt Assistant定制的资料主要是Qt Assistant自身所带的英文文档,虽然讲解比较详细,但是对于初学者来说难以快速的入手。因此结合具体实践,对Qt Assistant定制的过程进行整理,希望对他人能有所启发。
(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文件就是阐述的内容:
点击(此处)折叠或打开
- <?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>
(3)生成qch文件。qhp文件完成后,通过qhelpgenerator命令生成压缩的qch文件。打开cmd,输入" qhelpgenerator helpDoc.qhp -o helpDoc.qch "。这里helpDoc.qhp为输入的qhp文件,-o表示输出,输出文件名为helpDoc.qch。如果你的.qch文件在其它文件夹,在输入命令的时候需要加入.qch文件所在目录,同时HTML文件也必须在此目录下:比如所我的:
点击(此处)折叠或打开
- <?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参数即可。命令运行:
http://download.csdn.net/detail/rojian2010/5353368
https://blog.csdn.net/u014213012/article/details/54318137
基于Qt Assistant制作软件帮助文档的更多相关文章
- 软件开发过程文档-cgaowei
鸡肋——食之无味,弃之可惜”,软件开发过程文档遭遇了鸡肋一样的境遇. 目前敏捷软件开发过程非常流行.相对于软件开发过程文档,敏捷软件开发过程更加重视可运行的程序.关于软件开发过程文档,两个极端都是不可 ...
- 软件project文档中的数据库模型设计
背景:软件project文档之<数据库设计说明书>的结构设计部分要明白规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型.那么.何为数据库 ...
- Qt 生成word、pdf文档
需求:将软件处理的结果保存为一个报告文档,文档中包含表格.图片.文字,格式为word的.doc和.pdf.生成word是为了便于用户编辑. 开发环境:qt4.8.4+vs2010 在qt的官网上对于p ...
- 基于Picture Library创建的图片文档库中的上传多个文件功能(upload multiple files)报错怎么解决?
复现过程 首先,我创建了一个基于Picture Library的图片文档库,名字是 Pic Lib 创建完毕后,我点击它的Upload 下拉菜单,点击Upload Picture按钮 在弹出的对话框中 ...
- 基于php开发的RESTful ApiDoc文档
apiDoc基于rest的web API文档生成器,可以根据代码注释生成web api文档,自动生成静态的html网页文档,不仅支持项目版本号,还支持API版本号. 使用apiDoc不需要自己麻烦的调 ...
- 如何用OCR图文识别软件在文档里复制内容
ABBYY FineReader 12是一款OCR图文识别软件,可从文档中复制文本.图片和表格,粘贴到其他应用程序中.无需识别整个文档(关于ABBYY FineReader识别文档的文章,请参考解析A ...
- qt 利用 HTML 生成PDF文档,不能显示jpg图片
利用 QPrinter 和html 生成 pdf文档 其中用html语句有显示图片的语句 但只能显示png格式的图片,不能显示jpg格式图片. 经过排查:语法,文件路径等都正确,最终在stack ov ...
- 基于 Python 官方 GitHub 构建 Python 文档
最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实 ...
- 通过visual studio制作类库的文档
java的集成开发工具,可以导出jar的文档. visual studio 也可以生成类库的文档,邮件项目属性,生成,输出下,选择XML文档文件.然后生成项目,就会再bin下面生成一个xml文件. 将 ...
随机推荐
- CentOS6.4安装Docker
首先,须要安装EPEL仓库 # wget http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -ivh e ...
- 前台ajax验证技术采用正则表达式
var flag1,flag2,flag3,flag4,flag5,flag6=false; function val(obj) { var regBox = { /* regEmail : /^([ ...
- Android图像处理之冰冻效果
原图 效果图 代码: package com.colo ...
- javascript进阶教程第一章案例实战
javascript进阶教程第一章案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过练习积累JS的使用技巧 二.实例 练习1:删除确认提示框 实例描述: 防止用户小心单击了“删除”按钮,在用 ...
- es7 --- 新特性
ES7只有2个特性: includes() 指数操作符 不使用ES7 使用indexOf()验证数组中是否存在某个元素,这时需要根据返回值是否为-1来判断: let arr = ['react', ' ...
- 怎么成为合格的WEB前端开发工程师
web前端开发工程师目前来讲是一个热门职位,但是要成为一个合格的web前端开发工程师,需要掌握的知识可不少,零度就简单的为大家讲讲. 大致的来讲,web前端开发工程师需要掌握的知识有:HTML.CSS ...
- 讲述ssh服务攻击案例及事件分析
修改中 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- hbase xshell
用Xshell登陆linux主机后,在hbase shell下死活不能使用backspace和delete删除误输的指令,只得不停退出,重登,仔细输..又错了,再退出,再登,仔细输...又错了...又 ...
- buffer--cache 详解
- FreeModbus TCP
一.Modbus TCP协议格式 Modbus TCP协议数据格式如下图所示: MBAP报文头: Modbus TCP与Modbus RTU相比,没有检验码,也没有所谓的地址码,并且在RTU协议的基础 ...