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的帮助文件。由于原来的帮助文档是利用Word完成的,因此需要转换。转换的过程十分简单,即便对HTML不了解的用户也可以轻松完成。目前网络上有许多现成的HTML编辑器,利用这些编辑器即可轻松的进行编辑生成相应的html文件。
(2)编写qhp文件。下面是在项目中用到qhp文件,文件比较简单,这里仅用到了基本的功能,具体语法可以查看帮助文档。这里需要注意的是通过<section>标签指定帮助文档目录,这里可以是多级目录,但是Qt中建议不超过四级。指定目录后,需要通过<file>来指定所有用到的HTML文件,包括HTML文件中用到的所有图片。这里如果不指定,生成的qch文件注册到Qt Assistant后将不能找到有效的文件进行显示。
<?xml version="1.0" encoding="UTF-8"?>
<QtHelpProject version="1.0">
<namespace>org.mitk</namespace>
<virtualFolder>doc</virtualFolder>
<filterSection>
<toc>
<section title="fMRIAnalyze Tutorial" ref="tutorial.htm">
</section>
</toc>
<files>
<file>tutorial.htm</file>
<file>Tutorial_files/clip_image002.jpg</file>
.....................................................................
<file>Tutorial_files/clip_image072.jpg</file>
</files>
</filterSection>
</QtHelpProject>
(3)生成qch文件。qhp文件完成后,通过qhelpgenerator命令生成压缩的qch文件。打开cmd,输入" qhelpgenerator doc.qhp -o doc.qch "。这里doc.qhp为输入的qhp文件,-o表示输出,输出文件名为doc.qch。
(4)编写qhcp文件。qhcp中主要是对用到的qch文件进行组织,项目中用到的一个简单的qhcp文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<QHelpCollectionProject version="1.0">
<docFiles>
<register>
<file>doc.qch</file>
<file>其他的qch文件</file>
</register>
</docFiles>
</QHelpCollectionProject>
从文件中可以看出,只需要在register标签中指定相应的qch文件名称即可。当前这里必须确保在qhcp文件目录下存在指定的qch文件。为了避免因为忘记生成qch文件而造成错误,qhcp中支持通过指定qhp文件从一次生成相应的qch和qhc文件。格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<QHelpCollectionProject version="1.0">
<docFiles>
<generate>
<file>
<input>doc.qhp</input>
<output>doc.qch</output>
</file>
</generate>
<register>
<file>doc.qch</file>
</register>
</docFiles>
</QHelpCollectionProject>
从以上可以看出,在qhcp文件中多了一个<generate>标签,并指定了输入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参数即可。
- PC官方版
- 安卓官方手机版
- IOS官方手机版















蓝云工具箱绿色免安装版v4.3 最新版
酷鱼网扫描端2.0.12178.370 官方版
摸鱼屏保2.0.exe最新版
疯狂星期四文案最新版1.0 pc电脑版
鸟人云手机电脑版1.0 官方版
VMOS云手机电脑版1.1.5.0 官方版
飞智游戏厅电脑版(飞智游戏手柄连接软件)v2.5.0.7 PC空间站版
fanbook客户端v1.6.97.1552 官方版
iriun webcam for pc2.8.1 pc版
ElevenClock(win11时钟小工具)3.7.0 免费版
定时强制锁屏软件1.0 彩蛋版
Windows微信多开助手v1.0 C++版
eSearch识屏搜索1.7.4 免费版
电脑助手20220718单文件版免费下载
自然人电子税务局(扣缴端)V3.1.173 全国通用版
批量二维码生成器1.2.0 免费版
柜柜PC客户端(家具设计)3.4.1.2 官方正式版
剪切板资源捕获器(抓取下载链接工具)1.0.0 免费版
我的ABC软件工具箱6.25.0 官方64位版本
奥维互动地图2025高清卫星地图v9.9.6 X64 电脑版
精锐万能票据打印软件4.5.1.0 破解版
滴答清单电脑客户端4.2.0.1最新版
MveBox(哩哔哩Blibli解析下载工具)1.0 免费版
Simple Allow Copy(万能网页复制插件)0.8.3 最新版
云上越秀电脑版4.5.1.2 官方版
2021吾爱京东助手520特别版
云屋白板4.9.3.0最新版
今目标免费版2021版10.3.0.253 官方版
蓝奏云直链解析工具1.0绿色版
划词搜题工具1.0免费版





动漫共和国PC端1.1.0 最新版
联想Aero视觉效果修复工具1.85.1 中文绿色版
小飞机COM串口调试工具1.0 绿色版
通过qq号查手机号工具安卓+电脑
iBackup Change(iTunes备份路径修改工具)1.
chrome摄像头插件4.1官方最新版
梯控系统发卡器扇区更改工具绿色版
加密工厂3.8.0.595 官方最新版
星空计分牌软件(比赛计分软件)2.0 免费版
Google Picasa(图像浏览软件)3.9.141.255中