estoy tratando de entrar en el modo de edición en una celda específica de esta manera:QTableView: ¿cómo creo correctamente un QModelIndex?
void MainWindow::on_addButton_released() {
tm->addRow();
tableView->scrollToBottom();
int ec=tm->firstWritableColumn();
int r=tm->rowCount(QModelIndex());
QModelIndex id = tm->index(r, ec, QModelIndex());
tableView->setCurrentIndex(id);
tableView->edit(id);
qDebug() << "row:" << r << " col:" << ec << "index:" << id;
}
Mi modelo crea un índice de esta manera:
QModelIndex TableModel::index(int row,int column,QModelIndex parent) const {
Q_UNUSED(parent);
return createIndex(row,column,0);
}
La salida de depuración se ve así:
row: 9 col: 1 index: QModelIndex(9,1,0x0,TableModel(0xbf3f50))
Estoy bastante seguro de que el índice es inválido ya que setCurrentIndex()
parece no estar funcionando.
Su 'índice()' método en realidad no invalidará todas las demás ('' const QModelIndex' vs QModelIndex & '). ¿Copiar y pegar un error? –