Bonjour,
J'aimerais où me diriger pour itérer la liste affichée dans un qtableview.
Je cherche dans la doc mais... force est de constater que je ne trouve pas...
Un petit peu d'aide serait bienvenu
Merci à tous et bonne semaine
Bonjour,
J'aimerais où me diriger pour itérer la liste affichée dans un qtableview.
Je cherche dans la doc mais... force est de constater que je ne trouve pas...
Un petit peu d'aide serait bienvenu
Merci à tous et bonne semaine
Alleï Bonjour chez vous!
Bonjour,
Sous quelle forme se trouvent les données affichées par le QTableView, et quel modèle utilises-tu?
et: PyQt4 ou PyQt5?
et: si PyQt4: Python 2 ou 3?
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
Alors oui, milles excuse, j'ai omis de le mentionner.
Alors, je travaille avec PyQt5 et python3. Les données sont issues d'un QFileSystemModel.
Alleï Bonjour chez vous!
Salut,
QFileSystemModel ?
Ce ne serait pas un QListView plutôt qu'un QTableView ?
hello,
Non non, je confirme et donc récapitule .
Sous PyQt5, j'ai un QTableView contenant des données issues d'un QFileSystemModel.
J'aimerais donc pouvoir itérer le contenu de cette QTableView.
Surement rien de bien compliqué, mais je ne vois pas ou se cache le conteneur de la liste affichée.
Alleï Bonjour chez vous!
Ce que je comprends de ta question c'est que tu souhaites récupérer le contenu de ton QTableView.
J'ai peur de mal comprendre ton besoin car si c'est toi qui le renseigne, je pense que tu as déjà toutes les infos, je ne vois donc pas où ça coince.
Cependant, sache que QTableView héritant de QAbstractItemView, tu peux toujours utiliser la fonction model() afin de récupérer le contenu de celui-ci.
Hésite pas à donner plus d'infos si je suis complètement à coté de la plaque. Dans tous les cas ça servira aux autres pour t'apporter des réponses précises
++
J
Initiation à Qt Quick et QML : Partie 1 - Partie 2
En cas de besoin, pensez à la
Mon site et mes tutoriaux sur Developpez.com
Pas de question technique par MP... Les forums sont là pour ça
tu es tout à fait sur la bonne plaque
Le problème, n'est pas de récupérer le modèle, Mais de pouvoir itérer ce dernier.
Bref, je ne trouve pas la méthode à appliquer pour passer en revue les élément retourné.
c'est surement enfantin.... je dois être trop vieux donc ...
Alleï Bonjour chez vous!
Bonjour,
Oh, non!
Voilà une solution pour récupérer les lignes et les colonnes affichées dans un QTableView qui traite les éléments du disque:
Dans l'exemple, on appelle self.vuetable le QTableView, et il a comme modèle un QFileSystemModel.
Dans l'initialisation, je lui ai demandé d'afficher le contenu de E:\Python34 avec:
Une fois le contenu de E:\Python34 affiché, voilà comment j'affiche la liste des répertoires et fichiers de la 1ère colonne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.vuetable.setRootIndex(self.vuetable.model().setRootPath(r"E:\Python34"))
Ce qui me donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 nblig = self.vuetable.model().rowCount(self.vuetable.rootIndex()) nbcol = self.vuetable.model().columnCount(self.vuetable.rootIndex()) print(nblig, nbcol) print() col = 0 for row in range(0, nblig): index = self.vuetable.model().index(row, col, self.vuetable.rootIndex()) print(self.vuetable.model().data(index))
En variant col de 0 à nbcol, on a bien sûr toutes les colonnes de toutes les lignes.
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
22
23
24
25
26
27
28
29
30
31
32 30 4 @_sav DLLs Doc etc include Lib libs Scripts share tcl Tools cx_Freeze-wininst.log gmpy2-wininst.log LICENSE.txt matplotlib-wininst.log NEWS.txt numpy-wininst.log python python.exe pythonw.exe pywin32-wininst.log qt.conf README.txt Removecx_Freeze.exe Removegmpy2.exe Removematplotlib.exe Removenumpy.exe Removepywin32.exe Removescipy.exe scipy-wininst.log
Ok?
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
un grand merci, c'est exactement ça que je ne voyais pas.
j'aurais du y penser.
mon approche était de ce style
donc un tout grand merci pour la solution, qui m'a bien aidé à y voir plus clair dans le cheminement à prendre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 self.file_model = QFileSystemModel() Self.file_model.setRootPath(QDir.homePath()) self.table_view.setMoel(self.file_model) #Mais je ne trouvais pas comment récupérer le rowCount nb_lignes = self.file_model.rowCount(????) #j'aurais du essayer comme ça nb_lignes = self.file_model.rowCount(self.table_view.rootIndex()) #shame on me mais bravo on you :)
Alleï Bonjour chez vous!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager