在我的Qt应用程序中,我们可以通过执行以下操作打开一个帮助文件(chm):
QDesktopServices::openUrl(QUrl::fromLocalFile(_PathToTheCHMFile));这似乎是建议的做事方式。到目前为止,它一直在发挥作用。
然而,文档团队现在已经改变了chm文件的工作方式。现在我们引用一个"master“文件,它只包含对其他chm文件的引用。chm文件的目录结构如下:
master.chm
SUBDIR/
-> child1.chm
-> child2.chm
...如果用hh.exe (windows中的默认工具)打开master.chm文件,一切看起来都很完美。然而,在我的Qt应用程序中,帮助文件打开了,但是没有子主题,只有根节点。
我假设这是一个搜索路径问题,它不能解析相对路径。似乎没有任何方法可以将openURL调用配置为从某个目录或类似目录运行。
提前感谢
发布于 2013-05-23 05:05:52
如果您需要能够正确地访问这些元素,那么您可能需要动态更改应用程序的当前目录。
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
希望这能有所帮助。
https://stackoverflow.com/questions/16700384
复制相似问题