def on_addButton_clicked(self, checked=False): rowCount = self.model.rowCount() self.model.insertRows(rowCount, 1) index = self.model.index(rowCount, 0) self.fieldsView.selectionModel().select( index, QItemSelectionModel.SelectionFlags(QItemSelectionModel.Clear | QItemSelectionModel.Select | QItemSelectionModel.Current | QItemSelectionModel.Rows)) self.fieldsView.scrollTo(index) self.fieldsView.scrollTo(index)
def on_downButton_clicked(self, checked=False): sel = self.fieldsView.selectionModel() if not sel.hasSelection(): return row = sel.selectedRows()[0].row() if row == self.model.rowCount() - 1: return self.model.insertRows(row + 2, 1) for column in range(self.model.columnCount()): srcIndex = self.model.index(row, column) dstIndex = self.model.index(row + 2, column) value = self.model.data(srcIndex, Qt.EditRole) self.model.setData(dstIndex, value, Qt.EditRole) self.model.removeRows(row, 1) sel.select(self.model.index(row + 1, 0), QItemSelectionModel.SelectionFlags(QItemSelectionModel.Clear | QItemSelectionModel.Select | QItemSelectionModel.Current | QItemSelectionModel.Rows))