2013-09-27 1 views
9

Mac과 Windows에서 모두 작동하는 Qt 기반 응용 프로그램이 있습니다. 사용자가 소프트웨어를 설치하면 일련의 HTML 문서 페이지가 들어있는 폴더도 설치됩니다. 사용자가 응용 프로그램 내에서 도움말을 열려고하면 index.html이 표시되도록 프로그램의 설치 위치를 어떻게 찾을 수 있습니까?Qt 응용 프로그램의 설치 디렉토리를 찾는 방법은 무엇입니까?

내 프로그램은 Windows와 Mac의 일반적인 위치에 설치됩니다. Mac에서는 내 프로그램이 /Users/username/Applications/MyProgram에 설치됩니다. MyProgram은 "MyProgram.app"및 "Doc"폴더가 들어있는 폴더입니다.

#ifdef Q_OS_MACX 
    docPath = executablePath + "/Doc/index.html"; 
#elif Q_OS_WIN 
    docPath = executablePath + "/Doc/index.html"; 
#endif 

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

그럼, 궁극적 인 질문은 무엇입니까 executablePath해야합니까? 또한 사용자가 기본 위치 외에 다른 위치에 프로그램을 설치하거나 프로그램을 바로 가기에서 시작할 수 있다고 가정합니다.

+0

가능한 중복 [Qt는에 실행 파일 이름을 얻는 방법 (http://stackoverflow.com/questions/4515602/how-to-get-executable-name-in -qt) – syam

+0

QCoreApplication :: applicationDirPath (http://qt-project.org/doc/qt-5.0/qtcore/qcoreapplication.html#applicationDirPath)가 원하는 작업을 정확히 수행하지 못합니까? – Zlatomir

답변

18

당신은 사용해야

QString QCoreApplication::applicationDirPath() [static] 
+0

cf. http://doc.qt.io/qt-5/qcoreapplication.html#applicationDirPath – maxschlepzig

관련 문제