2013-05-22 1 views
0

에 병합 된 파일이 포함 된 CHM 파일을 열면 :우리가 다음을 수행하여 도움말 파일 (CHM)를 열 수 있습니다 내 Qt는 응용 프로그램에서 Qt는 응용 프로그램

QDesktopServices::openUrl(QUrl::fromLocalFile(_PathToTheCHMFile)); 

이 일을 제안 된 방법이 될 것으로 보인다. 그리고 지금까지 성공했습니다.

그러나 문서 팀에서는 chm 파일의 작동 방식을 변경했습니다. 이제 다른 chm 파일에 대한 참조 만 포함하는 "마스터"파일을 참조합니다. HH.EXE (윈도우의 기본 도구)와 master.chm 파일을 열 경우

master.chm 
SUBDIR/ 
    -> child1.chm 
    -> child2.chm 
     ... 

는, 모든 것이 완벽하게 보이는 다음과 같이 CHM 파일의 디렉토리 구조입니다. 그러나 내 Qt 응용 프로그램에서 도움말 파일이 열리지 만 하위 항목은 없으며 루트 노드 만 있습니다.

이것은 검색 경로 문제이며 상대 경로를 해결할 수 없다고 가정합니다. openURL 호출을 특정 디렉토리 또는 그와 비슷한 것으로부터 실행하도록 구성하는 방법은없는 것 같습니다. 사전

답변

2

에서

덕분에 당신은 당신이 즉시 응용 프로그램의 현재 디렉토리를 변경해야 할 수도 있습니다, 제대로 그 요소에 액세스 할 수 있어야합니다.

http://qt-project.org/doc/qt-4.8/qdir.html#setCurrent

문제가 해결되지 않으면

http://qt-project.org/doc/qt-4.8/qdir.html#details, 어디 마스터 정확히로 작업 디렉토리를 QProcess::startDetached

http://qt-project.org/doc/qt-4.8/qprocess.html#startDetached

를 사용하여 지정을 조사 할 수 있습니다. chm이 있습니다.

일부 명령 줄 인수도 지정할 수 있습니다. 도움이

http://www.help-info.de/en/Help_Info_HTMLHelp/hh_command.htm

희망.

+0

좋습니다. 비록 내가 "현재"디렉토리를 변경하더라도, 나중에 다시 설정해야합니다. 그 경로에 의존하는 다른 것들이있을 수 있습니다. – Liz

+0

예, 이미지 또는 dll 해상도 등 – phyatt