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

PyQt Python Discussion :

QTreeView sans fichier


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut QTreeView sans fichier
    Bonjour à tous,
    C ' est ici mon premier post sur ce forum car je suis débutant avec Python

    Mon problème est simple : je souhaite afficher une treeview mais sans les fichiers, juste une hiérarchie de dossiers.
    J' ai consulté la doc de Qt4 mais j' ai du mal à retrenscrire en python ce qui est pourtant bien expliqué en C++.

    Voici un bout de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(800, 600)
            self.centralwidget = QtGui.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            # Voila le modèle 
            self.model = QtGui.QDirModel(MainWindow)
            #self.model.setFilter(1)# Et non ...c' est pas ça ...
     
     
     
            self.treeView = QtGui.QTreeView(self.centralwidget)
            self.treeView.setModel(self.model)

    Il y a -t-il d' autre arguments à fournir ?
    Merci pour votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Bonjour,
    Le filtre est une bonne idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.model.setFilter(QtCore.QDir.Dirs)

  3. #3
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Salut,
    as-tu pensé à regarder du côté des exemples de PyQt ? L'exemple direview dans le dossier itemsview des codes des exemples te donne :
    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
    #!/usr/bin/python
     
    import sys
    from PyQt4 import QtCore, QtGui
     
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
     
        model = QtGui.QDirModel()
        tree = QtGui.QTreeView()
        tree.setModel(model)
     
        tree.setWindowTitle(tree.tr("Dir View"))
        tree.resize(640, 480)
        tree.show()
     
        sys.exit(app.exec_())
    Un petit tour sur la doc pour les QDirModel et tu y trouves QDirModel.setFilter que t'a indiqué pierjean. D'où le changement simple suivant :
    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
    #!/usr/bin/python
     
    import sys
    from PyQt4 import QtCore, QtGui
     
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
     
        model = QtGui.QDirModel()
    #Voir http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qdir.html#Filter-enumQDir.Dirs
        model.setFilter(QtCore.QDir.Dirs)
    # La ligne ci-dessus indique un filtre qui ne gardera que les dossiers.
        tree.setModel(model)
     
        tree.setWindowTitle(tree.tr("Dir View"))
        tree.resize(640, 480)
        tree.show()
     
        sys.exit(app.exec_())
    En espérant que cela t'aidera.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    Eh bien voilà !
    Oui, c' est bien la solution !
    J' avais compris qu' il s' agissait d' un filtre mais pas comment "imbriquer" tout cela.

    Merci à tous pour votre aide !

Discussions similaires

  1. Traduire un site web sans fichier de ressource
    Par nine93 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/04/2007, 19h19
  2. Réponses: 2
    Dernier message: 09/01/2007, 10h21
  3. [Image] Afficher image récupérée par FTP sans fichier temporaire
    Par grinder59 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/05/2006, 09h17
  4. Base sans fichier LDF
    Par mohamed dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/01/2006, 15h00
  5. Réponses: 2
    Dernier message: 06/10/2005, 10h35

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