[PyQt] trivial question regarding standarditemmodels

Greg Smith gsmith at troublemakerstudios.com
Fri Jun 12 00:12:12 BST 2009

Hey everyone. I have a QListView widget that is populated by a
QStandardItemModel, which I populated using the appendRow method with a
list containing QStandardItems. 

My question is that I am creating a gui to where the user can select
multiple Items in the listview and press a button to remove those items
from the list. 


Now for the most part, I figured the logic theory out in my head on how
to do this, where I am stuck is executing the logic within the context
of an ItemModel. Up to this point 

I've learned enough about ItemModels to get me in trouble, but not
enough to have a complete understanding of whats actually happening.
Plus all the lists I made previously only used 

Single selection and I was able to get the selection I needed from a
selectionChanged method. I also figured out how to set the selection of
a ListView  programmatically with not too much trouble. However where I
am stuck, is trying to figure out how to access what row information
based off of whats selected or not selected in its related listview


Here is what I plan on doing in my button logic


1. newItemModel = existingItemModel()

2. for rowInt in  range(existingModel.rowCount):

3.     rowIndex = existingModel.index(rowInt, 0)

4.     if  rowIndex not in listView.selectedIndexes():

5.         newItemModel.addRow(existingItemModel.takeRow(rowInt)

6.  listView.setModel(newItemModel)


Where I think I am getting hung up is on row 3 or 4, because I don't'
know if that maintains a 1 to 1 relation ship between the QModelIndex
item created by the index() method and the QModelIndex item that is
created from the selectedIndex() method.  Again, like I said, I know
enough to get in trouble. This could be an entirely wrong approach.


So not sure what to do actually, so any advice on the matter would be
truly appreciated.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20090612/40a251b1/attachment.html

More information about the PyQt mailing list