2013-09-27 14 views
9

Hem Mac hem de Windows için çalışan bir Qt tabanlı uygulamasına sahibim. Kullanıcı yazılımı yüklediğinde, bir sürü HTML doküman sayfası içeren bir klasör de yükler. Programın kurulumunun yerini nasıl bulabilirim, böylece kullanıcı uygulamanın içinden Yardım'ı açmaya çalıştığında, index.html'a getirilir.Qt uygulamasının yükleme dizini nasıl bulunur?

Programım, Windows ve Mac için normal konumlarda yüklenir. Mac'te, programım MyProgram'un "MyProgram.app" ve "Doc" klasörünü içeren bir klasör olduğu /Users/username/Applications/MyProgram'a yüklenir.

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

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

Yani benim nihai soru, executablePath ne olmalıdır? Ayrıca, bu kullanıcının programı varsayılan konumun dışında başka bir yere yükleyebileceğini veya programın bir kısayoldan başlatılabileceğini varsayar.

+0

olası yinelenen [Qt yürütülebilir adını almak için nasıl] (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) tam olarak ne istediğinizi yapmıyor mu? – Zlatomir

cevap

18

Sen kullanmalıdır:

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

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

İlgili konular