Ho un'applicazione basata su Qt che funziona sia per Mac che per Windows. Quando l'utente installa il software, installa anche una cartella contenente un mucchio di pagine di documentazione HTML. Come posso trovare la posizione dell'installazione del programma in modo che quando l'utente tenta di aprire la Guida dall'interno dell'applicazione, viene portato a index.html
.Come trovare la directory di installazione di un'applicazione Qt?
Il mio programma viene installato nelle normali posizioni per Windows e Mac. Su Mac, il mio programma si installa su /Users/username/Applications/MyProgram
dove MyProgram
è una cartella contenente "MyProgram.app" e la cartella "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));
Quindi, la mia ultima domanda è, che cosa dovrebbe essere executablePath
essere? Inoltre, si presume che l'utente possa installare il programma altrove oltre alla posizione predefinita o che il programma possa essere avviato da una scorciatoia.
possibile duplicato di [come ottenere nome del file eseguibile in Qt] (http://stackoverflow.com/questions/4515602/how-to-get-executable-name-in -qt) – syam
Is not QCoreApplication :: applicationDirPath (http://qt-project.org/doc/qt-5.0/qtcore/qcoreapplication.html#applicationDirPath) fa esattamente ciò che vuoi? – Zlatomir