在Qt应用程序中打开包含合并文件的chm文件
在我的Qt应用程序中,我们可以通过执行以下操作打开帮助文件(chm):在Qt应用程序中打开包含合并文件的chm文件,qt,merge,chm,Qt,Merge,Chm,在我的Qt应用程序中,我们可以通过执行以下操作打开帮助文件(chm): QDesktopServices::openUrl(QUrl::fromLocalFile(_PathToTheCHMFile)); 这似乎是建议的做事方式。到目前为止,它一直在发挥作用 然而,文档团队现在已经改变了chm文件的工作方式。现在我们正在引用一个“主”文件,它只包含对其他chm文件的引用。chm文件的目录结构如下所示: master.chm SUBDIR/ -> child1.chm
QDesktopServices::openUrl(QUrl::fromLocalFile(_PathToTheCHMFile));
这似乎是建议的做事方式。到目前为止,它一直在发挥作用
然而,文档团队现在已经改变了chm文件的工作方式。现在我们正在引用一个“主”文件,它只包含对其他chm文件的引用。chm文件的目录结构如下所示:
master.chm
SUBDIR/
-> child1.chm
-> child2.chm
...
如果使用hh.exe(windows中的默认工具)打开master.chm文件,一切看起来都很完美。但是,在我的Qt应用程序中,会打开帮助文件,但是没有子主题,只有根节点
我假设这是一个搜索路径问题,它无法解决相对路径。似乎没有任何方法可以将openURL调用配置为从某个目录或类似目录运行
提前感谢如果您需要能够正确访问这些元素,则可能需要动态更改应用程序的当前目录 如果这不起作用,您可能需要研究使用
QProcess::startDetached
并将工作目录指定为master.chm的确切位置
您可能还需要指定一些命令行参数
希望能有所帮助。好建议。虽然如果我更改“当前”目录,我可能应该在以后重置它。可能还有其他东西依赖于该路径。是的,比如你的图像,或者dll分辨率,等等。