Cómo activar el modo de edición de un elemento en un QTableView?
-
02-10-2019 - |
Pregunta
Estoy usando QTableView y QStandardItemModel ahora.
En el QTableView, si hace doble clic en una celda, esta célula se meterá en el modo de edición y se puede editar su contenido.
Ahora tengo un problema, quiero activar el modo de edición de un elemento de código (por orden), ¿qué debería hacer? No puedo encontrar un funcionamiento correcto o ranura en QTableView o QStandardItemModel. Qué necesito para emitir ninguna señal para entrar en el modo de edición?
Y qué señal que debería coger si quiero saber cuando la edición es acabado (el usuario pulse "Enter" o haga clic en otro artículo para dejar el modo de edición) ??
Gracias por su ayuda
Solución
Vea:
void QAbstractItemView::edit ( const QModelIndex & index ) [slot]
void QAbstractItemView::closeEditor ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint ) [virtual protected slot]
void QAbstractItemView::editorDestroyed ( QObject * editor ) [virtual protected slot]
Otros consejos
que debe ser capaz de utilizar editar método de la clase QAbstractItemView al gatillo la edición para el índice determinado modelo.
PLS, ver si es un ejemplo a continuación iba a funcionar para usted:
QModelIndex index = ui->tableView->model()->index(0, 0, QModelIndex());
ui->tableView->edit(index);
Espero que esta ayuda, respecto