Bonjour,
J'ai un soucis de chargement de fichier de langues.
J'ai deux applications dans des dossiers différents, l'une permet de lancer l'autre. La deuxième application se décline en plusieurs langues. Le chargement de la langue s'effectue correctement si je lance directement l'application via ma console. Par contre, en démarrant cette application via un QProcess, impossible de charger le fichier de langue.
Le problème vient sans doute du "working directory" de l'application lancée par le QProcess.
Voici ce que j'ai tenté, sans succès :
Application 1 - Fonction "Lanceur" :
Application 2 - main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 QString app2path; //Contient le chemin complet vers l'exécutable de l'application 2 QProcess * proc = new QProcess(this); proc->setWorkingDirectory(QFileInfo(app2path).absoluteDir().absolutePath()); proc->startDetached(app2path);
la fonction load renvoie false quand l'appli est lancée depuis le QProcess ci-dessus, elle fonctionne très bien si l'appli est directement lancée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 QApplication a(argc,argv); QTranslator translator; if(translator.load("app_de")) a.installTranslator(&translator); else qDebug() << "Unable to load language file !";
Savez vous comment régler ce problème en conservant l'accès au fichier de langue de manière relative (mettre un chemin absolu marche avec le QProcess, mais je veux faire sans) ?
Partager