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

Discussion :

La fonction "QString QFileDialog::selectedNameFilter () const" ne marche pas

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 92
    Points : 49
    Points
    49
    Par défaut La fonction "QString QFileDialog::selectedNameFilter () const" ne marche pas
    Bonjour,

    Quand j'ouvre un QFileDialog pour récupérer un fichier, j'ai quelques filtres que j'ai mis.
    Je veux récupérer le filtre sélectionné pour le mettre par défaut à la prochaine sélection de fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    QFileDialog dialog(this);
     
    	QString fileName = dialog.getOpenFileName(this, tr("Choose File"), "", format);
     
    	filterSelected = dialog.selectedNameFilter();
    format est un QString pour mettre mes filtres.

    quand je sélectionne mon fichier je ne trouve rien dans filterSelected.. ("")

    Pourquoi?
    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Points : 421
    Points
    421
    Par défaut
    Hello,

    Il faut l'utiliser de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QString fileName = QFileDialog::getOpenFileName(this, tr("Choose File"), "", format, &filterSelected);
    QFileDialog::getOpenFileName() est une fonction statique et elle ne nécessite pas d'instance de QFileDialog pour être appelée. Du fait qu'elle soit statique, le filtre sélectionné n'est pas mémorisé dans l'instance de la classe que tu crées (QFileDialog dialog).

    Avec une instance de QFileDialog, cela donnerait le code ci-dessous, mais dans la plupart des cas la première solution est amplement suffisante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    QFileDialog dialog(this);
    //dialog.setFileMode(QFileDialog::AnyFile);
    //dialog.setViewMode(QFileDialog::Detail);
    dialog.setNameFilter(format);
    QStringList fileNames;
    if (dialog.exec()){
        fileNames = dialog.selectedFiles();
        selectedFilter = dialog.selectedNameFilter();
    }

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 92
    Points : 49
    Points
    49
    Par défaut
    Merci!

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

Discussions similaires

  1. Convertir CString en const char*: ca marche pas
    Par MDiabolo dans le forum Visual C++
    Réponses: 12
    Dernier message: 21/11/2006, 18h10

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