Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] chemin de fichier sous Windows

les espaces ne sont pas gérés par Qt?

Sujet résolu
    22 juin 2008 à 20:56:51

    Bonjour,

    Je cherche à lancer des processus externes depuis un programme Qt via la classe QProcess, et la méthode process.start("chemin du processus") qui prend en paramètre une QString contenant le chemin vers le processus à lancer.

    Tout ça marche bien, du moment que le chemin ne contient pas d'espace (comme "C:/Test/process.exe")
    Si je veux lancer un processus situé dans "C:/Program Files/...", par exemple, ça ne marche plus...

    Il me semble avoir fait le tour de la doc, mais je n'ai rien trouvé.

    Si quelqu'un pouvait me sortir de là, je lui en serait immensément reconnaissant pour toujours, envers et contre tout, et même en dépit de toute catastrophe écologique majeure qui pourrait survenir inopinément les 20 prochaines années. Ou pas. euh enfin bref.

    Merci beaucoup.
    • Partager sur Facebook
    • Partager sur Twitter
      22 juin 2008 à 21:24:21

      c'est marqué dans la doc, et c'est le même comportement que la console windows, donc je te laisse chercher un peu.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juin 2008 à 23:36:04

        Ben figure-toi que j'ai trouvé à peu près 3 minutes après avoir posté (c'est malin hein), mais vingt dieux, on ne peut pas dire que je trouve que ce soit indiqué clairement dans la doc.

        J'ai trouvé en tâtonnant à partir d'un paragraphe de la doc de QProcess(http://doc.trolltech.com/4.4/qprocess.html#start) où on lit quelque chose de somme toute obscur (à mon goût) :

        Citation : Doc Qt

        Note that, on Windows, quotes need to be both escaped and quoted. For example, the above code would be specified in the following way to ensure that "My Documents" is used as the argument to the dir executable:
        QProcess process;
        process.start("dir \"\"\"My Documents\"\"\"");


        Ce qui se résume à : à l'intérieur des guillemets, il faut rajouter des guillemets précédés d'un \, donc au lieu de "chemin avec espace", il faut un "\"chemin avec espace\"".

        Ben franchement, si tu sais où c'est indiqué plus clairement dans la doc, ça me ferait bien plaisir de savoir où, parce que j'y ai passé quelques petites heures mine de rien...

        Merci à bientôt
        • Partager sur Facebook
        • Partager sur Twitter

        [Qt] chemin de fichier sous Windows

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown