IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

QFileDialog::getOpenFileName problème de chemin


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    IRIS
    Inscrit en
    Septembre 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IRIS
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 55
    Points : 35
    Points
    35
    Par défaut QFileDialog::getOpenFileName problème de chemin
    Bonjour à tous.

    J'ai un petit soucis avec la méthode getOpenFileName, en effet celle ci me retourne un chemin qui n'est pas correct, à savoir dans mon cas (C:/save.sql) au lieu de (C:\save.sql) ce qui me pause problème pour ce que j'en fait.

    Connaissez vous une solution directement en utilisant la méthode, ou faut il manipuler le QString pour y changer les / en \, si je dois le faire avec vous une piste pour m'éclairer sur la façon de procéder pour n'importe quel chemin ?

    Merci d'avance.

    Cordialement Flo.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Bonjour,

    La façon prévue par Qt est d'utiliser QDir::toNativeSeparators(QString).

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    IRIS
    Inscrit en
    Septembre 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IRIS
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Merci bien, ça marche niquel.

    Me voila avec un nouveau problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    QProcess *process = new QProcess();
    QString appli = "C:\\mysql\\bin\\mysql.exe";
    QStringList arguments;
    arguments <<"-h"<<"localhost"<<"-u"<<"root"<<"-pmdp"<<"apterix"<<"<"<<"C:\\save.sql";
    int test = process->execute(appli,arguments);
    Ce code permet ( normalement ) de restaurer une base Mysql
    l'exit statut me retourne 1 donc ça a crash, puis le programme lancer n'a pas eu l'effet désirer.

    une idée ?

    le code suivant permet de sauvegarde une base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    QProcess *process = new QProcess();
    QString appli = "C:\\mysql\\bin\\mysqldump.exe";
    QStringList arguments;
    arguments <<"-h"<<"localhost"<<"-u"<<"root"<<"-pmdp"<<"-rc:\\save.sql"<<"apterix";
    int test = process->execute(appli,arguments);
    celui ci fonctionne très bien ... allez savoir pourquoi lui et pas l'autre...

  4. #4
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut
    Il n'y a pas d'espaces entre tes arguments, peut être que ça vient de là?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    IRIS
    Inscrit en
    Septembre 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IRIS
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    l’opérateur "<<" crée les espaces, et le deuxième code fonctionne alors que c'est la même construction

  6. #6
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Citation Envoyé par Zanor84 Voir le message
    l’opérateur "<<" crée les espaces
    Non pas du tout, l'opérateur << de QStringList (de QList donc) sert juste à ajouter un élément à la fin. En revanche, plus loin dans l'implémentation Qt, lorsque Qt reconstitue la chaine, effectivement il met bien des espaces :

    qprocess_win.cpp
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    static QString qt_create_commandline(const QString &program, const QStringList &arguments)
    {
        QString args;
        /* ... */
     
        for (int i=0; i<arguments.size(); ++i) {
            QString tmp = arguments.at(i);
            /* traitement des caractères spéciaux etc... */
            args += QLatin1Char(' ') + tmp;
        }
        return args;
    }

    Pour revenir au souci principal, tu as essayé toi-même le cas qui ne fonctionne pas depuis une console ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    IRIS
    Inscrit en
    Septembre 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IRIS
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 55
    Points : 35
    Points
    35
    Par défaut
    Oui depuis une console ça fonctionne, pardon pour l'erreur ^^ tout ça pour dire que les espaces étaient bien créee

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant][URL] problème de chemin
    Par soulhouf dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 14/09/2005, 16h25
  2. [MFC]Problème de chemin de fichier
    Par benahpets dans le forum MFC
    Réponses: 3
    Dernier message: 06/09/2005, 13h07
  3. [XSLT] Problème de chemin d'accès + XSLT
    Par Jorus dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/09/2004, 08h36
  4. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo