2010-11-05 11 views
2

Je suis un peu confus. Je travaille avec QTreeView comme modèle auquel j'ai affecté QSortFilterProxyModel. http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qsortfilterproxymodel.html(Py) Qt - QTreeView, modèle, insérer la ligne

//treeview 
self.ProxyView = QtGui.QTreeView(self.centralwidget) 

//model 
self.ProxyModel = QtGui.QSortFilterProxyModel(self) 
self.ProxyModel.setSourceModel(QtGui.QStandardItemModel(0, 3, self)) 

//assign model to tree 
self.ProxyView.setModel(self.ProxyModel) 

Sur CLICK Je veux ajouter une ligne à cet arbre.

Voici ma fente def pushButton_addRow (auto): self.ProxyModel.insertRow (0) self.ProxyModel.setData (self.ProxyModel.index (0,0), "salut")

Cela ne fonctionne pas, cela ne fonctionne que pour la première rangée, puis j'ai ajouté des lignes vides. Mais quand je remplis la deuxième cellule ça marche.

self.ProxyModel.setData(self.ProxyModel.index(0,1), "hi") 

Une idée?

Répondre

0

Peut-être votre nouveau QModelIndex a tord parent()?