Bonjour,


Je cherche à afficher une arborescence afin de permettre à l'utilisateur de choisir le dossier voulu.

Pour le moment j'obtiens facilement l'arborescence grâce à la ligne de commande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
subprocess.call(['tree', "-L", "2", myPath])
Avec pour résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|-- A
|   |-- 1
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   `-- 6
|-- B
|   |-- 1
|   |-- 2
|   |-- 3
|   |-- 4
|   |-- 5
|   `-- 6
`-- C
    |-- 1
    |-- 2
    |-- 3
    |-- 4
    |-- 5
    `-- 6
Seulement je voudrais désormais obtenir cette arborescence dans une interface graphique.
J'ai donc créé un QTreeView:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.myTree.setRootIndex(self.model.index(myPath))
Mes questions:
  • Le problème étant que j'ai désormais l'affichage de tout les sous-dossiers (contrairement à l'option -L 2 du tree)
    Une solution ?
  • Est-il également possible de n'afficher que la première colonne (le nom) et de masquer les autres (taille, date) ?
  • Comment récupérer la sélection de l'utilisateur ?
  • Le QTreeView est-il vraiment la meilleure solution pour ce type d'affichage (QDirModel ?) ?



Merci d'avance.