Bonsoir,
J'ai un soucis au passage de paramètres quand ceux-ci comportent des espaces.
extrait dei mon code :
programme et filename sont des QString récupérés depuis la fonction QFileDialog::getOPenFilename.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 QProcess process; programme="\""+programme+"\""; filename="\""+filename+"\""; process.startDetached(programme,QStringList()<<QString(filename));
Si je commente la ligne filename="\""+filename+"\"";, que j’essaye d’ouvrir le fichier "ab cd.doc" avec Word (dans programme), il me met l'erreur "impossible de trouver le fichier c:\users\Desktop\moncompte\ab%20cd.doc (le path est bon), et en décommettant j’obtiens en retour d'erreur word
"impossible de trouver le fichier c:\c:\users\Desktop\moncompte\ab
Un Qdebug sur filename retourne respectivement "c:\users\Desktop\moncompte\ab cd.doc" et ""c:\users\Desktop\moncompte\ab cd.doc"" selon que je commente ou non filename="\""+filename+"\"";
J'joute que programme contient des espaces car mon word se trouve dans c:\program files (x86).
J'ai essayé avec QStringList()<<filename et QStringList()<<QString(filename).toAscii() sans que ça change quoi que ce soit.
Merci pour votre aide.
Partager