[PyQt] Want to change multiple cells in QTableView at once in
bvz at c381.com
Sun Oct 4 23:35:18 BST 2009
The selectionModel will return which cells are selected... but it is a method
of the QTableView, not the QAbstractTableModel.
So how do I get this information into my setData method in my model? As far
as I can see, regardless of what info I can get from the selectionModel, the
setData method will only recognize one cell as being selected and will then
only update one cell (even though I may have many selected).
Hans-Peter Jansen-2 wrote:
> 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:
>> 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
>> 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()...
> PyQt mailing list PyQt at riverbankcomputing.com
View this message in context: http://www.nabble.com/Want-to-change-multiple-cells-in-QTableView-at-once-in-custom-Model-View-tp25726512p25742969.html
Sent from the PyQt mailing list archive at Nabble.com.
More information about the PyQt