Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.3.1 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Un QFileDialog qui ne montre que les exécutables (Linux) ?

Bonjour !

Une petite colle pour cette fin d'année 2011 (je n'ai pas la solution) :

- Je suis sous Linux
- Je veux configurer un QFileDialog pour qu'il ne me montre que les fichiers exécutables.

Y a-t-il une solution simple, sachant que les exécutables Linux n'ont pas d'extension particulière... voire pas d'extension du tout ?

:P

Réponses

  • December 2011 modifié
    Bonjour,

    Peut-être en partant sur :
    QFileDialog::setFilter (QDir::Executable | QDir::AllDirs | QDir::Files)
    pour avoir dossiers et fichiers éxécutables. Après je ne suis pas sur du comportement du filtre exécutable :
    QDir::Executable 0x040 List files for which the application has execute access. The Executable value needs to be combined with Dirs or Files.

    En fait dsl mais ce filtre éxécutable n'est pas très clair pour moi, puisqu'il faut que l'application ait les droits d'éxécution sur chaque fichier éxécutable. Sinon ce qui est possible vu de loin je pense, c'est utiliser un QSortFilterProxyModel dans lequel du redéfinis le filtrage pour obtenir ce que tu veux. Ensuite un petit :
    QFileDialog::setProxyModel ( QAbstractProxyModel * proxyModel )
  • QSortFilterProxyModel me semble être la solution, parce que je veux tous les exécutables, pas seulement ceux que l'utilisateur peut lancer.

    Merci, je vais tester ça.
Connectez-vous ou Inscrivez-vous pour répondre.