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, cacher les extensions d'un filtre


Sujet :

Qt

  1. #1
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut QFileDialog, cacher les extensions d'un filtre


    J'aimerais dans un QFileDialog avec plusieurs filtres, être capable de cacher les extensions utilisés pour un filtre dans le champ de sélection (ComboBox) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QString("All Files (*.*);;All Supported Media Files;;AVI (*.avi);;Image Files (*.jpg *.png *.gif *.bmp *.tga *.tif *.tiff)");
    Je voudrais que All Supported Media Files supporte toutes les extensions mais n'affiche rien dans son champ name...

    Cette fonctionnalité existe sur l'API windows car j'ai vu des applications le faire, notamment Sony Vegas que j'ai sous la main, mais j'ai pas réussi à le faire avec Qt.


  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 47
    Par défaut
    Tu peux cacher toutes les extensions avec HideNameFilterDetails et les mettre en double pour celles que tu veux garder:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QString filters("All Files (*.*) (*.*);;All Supported Media Files (*.avi *.jpg *.png *.gif *.bmp *.tga *.tif *.tiff);;AVI (*.avi) (*.avi);;Image Files (*.jpg *.png *.gif *.bmp *.tga *.tif *.tiff) (*.jpg *.png *.gif *.bmp *.tga *.tif *.tiff)");
     
    QString filename = QFileDialog::getOpenFileName(0, "test", QString(), filters,0, QFileDialog::HideNameFilterDetails );
    D'après le code source de QFileDialog, ça devrait avoir le même rendu.

  3. #3
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    J'y ai pensé mais j'arrive pas à faire marcher QFileDialog::HideNameFilterDetails sous Windows. Quand je l'ajoute ça ne change rien...

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Citation Envoyé par johnlamericain Voir le message
    J'y ai pensé mais j'arrive pas à faire marcher QFileDialog::HideNameFilterDetails sous Windows. Quand je l'ajoute ça ne change rien...
    Haaa ça marche sous QtCreator en test mais pas sous visual studio... Je regarde ça de plus près

    Edit : en faite ça marche avec QFileDialog::getOpenFileName mais pas QFileDialog::getOpenFileNames (selection multiples). Même code, juste le s à la fin en plus...

  5. #5
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Bon j'ai trouvé que c 'était une limitation sous Windows Vista à cause de la barre de recherche qui permet une selection de fichiers dans différents répertoires. Ils utilisent une différente API windows qui n'a pas l'air de supporter cette option ou elle n'est tout simplement pas définit...

    Code qfiledialog_win : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Windows Vista (& above) allows users to search from file dialogs. If user selects
    // multiple files belonging to different folders from these search results, the
    // GetOpenFileName() will return only one folder name for all the files. To retrieve
    // the correct path for all selected files, we have to use Common Item Dialog interfaces.

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

Discussions similaires

  1. [XL-2013] Power-Pivot : cacher les filtres d'un tableau croisé dynamique
    Par Mathsdeb dans le forum Excel
    Réponses: 2
    Dernier message: 21/06/2015, 12h10
  2. Cacher les retours erreurs de QFileDialog
    Par hizoka dans le forum PyQt
    Réponses: 9
    Dernier message: 09/12/2013, 15h57
  3. Réponses: 3
    Dernier message: 31/07/2010, 20h14
  4. FileDialog filtre sur les extensions marche pas
    Par *alexandre* dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 22/08/2007, 12h49
  5. [FileDialog]Filtre pour les extensions
    Par louby dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 21/08/2006, 16h52

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