Nevermind figured out what my problem was, it was unrelated to PyQt and a threading issue.
________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Greg Smith Sent: Friday, June 12, 2009 9:36 AM To: pyqt Subject: RE: [PyQt] trivial question regarding standarditemmodels Okay tell me if I'm doing something wrong, I am doing some basic test executions on button logic Here is what I got so far Button_pressed(self): sel_idxs = self.ui.myListView.selectedIndexes() for i in sel_idxs: msg = 'row: %s, col: %s' % (i.row(), i.column()) print msg so in my listview I have 4 items, I select the first and third item which should give me row indexes 0 and 2, what gets printed is this: row: 2, col:0 row: 2, col:0 ...umm that's not right. I try other selection combinations, and it seems that only the last item that was selected, that row index gets returned Only time it really works is if I make single selections. But I want the user to be able to select which ever and the appropriate list of indexes is returned. I'm at a loss on this one, I thought I had my problem pegged until I did this test. Any clues? This is beginning to drive me nuts! Greg ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Greg Smith Sent: Thursday, June 11, 2009 6:12 PM To: pyqt Subject: [PyQt] trivial question regarding standarditemmodels 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 object. 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. Greg
_______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
