Am Samstag 03 Oktober 2009 schrieb bvz: > I had a version of my spreadsheet style app (in which I handled all of > the updating of the table manually) that allowed me to set the value of > multiple cells at once. > > (if the user selected multiple cells and entered, say, "bob" then all the > selected cells would be updated to contain "bob".) > > I managed to do this by using a for cellIndex in self.selectedIndexes() > loop inside a method called by the > QTableWidget.itemChanged(QTableWidgetItem *) signal. > > > Old code: > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > self.blockSignals(True) > value = cell.text() > dataType = cell.dataType > for cellIndex in self.selectedIndexes(): > currentCell = self.item(cellIndex.row(), cellIndex.column()) > if currentCell.dataType == dataType: # Only update cells of > the same data type > currentCell.update_parameter_object(value) > self.blockSignals(False) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Now I have it all set up to use the model/view system and it is all much > better. Except that I can't seem to figure out how to mimic that one > feature. The data() method that I reimplemented in the model only > receives the index of the currently selected cell. Is there any way of > finding out in the model which cells are selected in the view?
That sounds, like you're after self.selectionModel()... Pete _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt