在我的Qt应用程序中,我们可以通过执行以下操作打开帮助文件(chm):
QDesktopServices::openUrl(QUrl::fromLocalFile(_PathToTheCHMFile));
这似乎是建议的做事方式。它一直在努力。
但是,文档团队现在已经更改了chm文件的工作方式。现在我们引用一个“主”文件,该文件只包含对其他chm文件的引用。 chm文件的目录结构如下:
master.chm
SUBDIR/
-> child1.chm
-> child2.chm
...
如果用hh.exe(Windows中的默认工具)打开master.chm文件,一切看起来都很完美。但是,从我的Qt应用程序中,帮助文件打开,但没有子主题,只有根节点。
我认为这是一个搜索路径问题,它无法解析相对路径。似乎没有任何方法可以将openURL调用配置为从某个目录或类似目录运行。
提前致谢
答案 0 :(得分:2)
如果您需要能够正确访问这些元素,那么您可能需要动态更改应用程序当前目录。
http://qt-project.org/doc/qt-4.8/qdir.html#details
http://qt-project.org/doc/qt-4.8/qdir.html#setCurrent
如果这不起作用,您可能需要考虑使用QProcess::startDetached
http://qt-project.org/doc/qt-4.8/qprocess.html#startDetached
并将工作目录指定为master.chm所在的位置。
您也可能想要指定一些命令行参数。
http://www.help-info.de/en/Help_Info_HTMLHelp/hh_command.htm
希望有所帮助。