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 :

Copie des élements d'un QTreeView dans un autre [QtGui]


Sujet :

PyQt Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 788
    Points : 446
    Points
    446
    Par défaut Copie des élements d'un QTreeView dans un autre
    bonjour à tous,

    Je cherche à faire la copie des élements d'un QTreeview dans un autre. C'est à dire que à la fin, mes 2 QTreeView doivent avoir les même données (hormis le header, qui m'empeche d'appliquer simplement le model du QTreeview source à celui de destination)


    J'ai donc 2 QTreeview
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     self.source= QtGui.QTreeView()
     self.result= QtGui.QTreeView()

    Les 2 ont des model. la source a été alimentée en donnée contrairement à result qui est vide
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    model =  QtGui.QStandardItemModel(0,0)
    self.addOptionsToTree(model, values) #ajoute des items au model
    self.source.setModel(self.model)
     
    #ResultTree is empty 
    self.model =  QtGui.QStandardItemModel(0,0)
    self.resultTree.setModel(self.model)


    lorsque j'appuie sur un bouton, je voudrai que les données de self.source soit copiée dans self.result

    j'ai donc commencer une fonction mais j'ai une boucle infini que je comprend mais je ne vois pas comment faire :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    def onButtonpush(self):
             self.__CopyItems(self.source.model())
     
    def __CopyItems(self, srcModel, parentItem = None):
            for i in range(0, srcModel.rowCount()):    
                item = QtGui.QStandardItem(srcModel.item(i))
                #si parentItem n'est pas défini alors on est sur premier item
                if not parentItem:
                    parentItem =  self.resultTree.model()
                parentItem.appendRow(item)
                self.__CopyItems(item.model(), item) #on fais la même chose pour les items enfant

    problème: item.model() semble renvoyer le model de self.source et donc je boucle indéfiniment sur mon 1er item de la liste
    Le savoir est une arme alors soyons armés

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 788
    Points : 446
    Points
    446
    Par défaut
    J'ai fini par trouver :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        def onButtonpush(self):  
            self.resultTree.model().clear()
            for i in range(0, source.model().rowCount()):
                srcItem = source.model().item(i)         
                self.__CopyItems(source, result.model())
     
        def __CopyItems(self, scrItem, dstItem ):        
            item = QtGui.QStandardItem(scrItem.text())
            dstItem.appendRow(item)
            for i in range(0, scrItem.rowCount()):
                self.__CopyItems(scrItem.child(i), item)

    Le savoir est une arme alors soyons armés

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

Discussions similaires

  1. [XL-2010] Copie des valeurs d'une colonne dans un autre fichier sous condition
    Par Fred_rt dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/03/2015, 11h50
  2. [2.x] [Symfony 2] afficher des élements d'une table dans une vue
    Par glennog dans le forum Symfony
    Réponses: 3
    Dernier message: 11/08/2013, 03h19
  3. Réponses: 1
    Dernier message: 26/12/2006, 16h23
  4. concatenation des données d'une table dans une autre
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/10/2004, 11h38
  5. Récupération des champs d'un form dans un autre
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 22/06/2004, 10h31

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