2013-09-25 6 views
6

Desidero eliminare una riga selezionata dalla tabella quando faccio clic sul pulsante delete.Qt Elimina riga selezionata in QTableView

Ma non riesco a trovare nulla per quanto riguarda l'eliminazione di righe nella documentazione Qt. Qualche idea?

Image

+0

Dai un'occhiata a removeRow ... – leemes

risposta

11

È possibile utilizzare la funzionalità bool QAbstractItemModel::removeRow(int row, const QModelIndex & parent = QModelIndex()) per questo.

Qui puoi trovare uno example per tutto questo.

Inoltre, ecco un preventivo in linea da quella documentazione:

removeRows()

Utilizzato per rimuovere le righe e gli elementi di dati che contengono da tutti i tipi di modello. Le implementazioni devono chiamare beginRemoveRows() prima di inserire nuove colonne in qualsiasi struttura dati sottostante e immediatamente chiamare endRemoveRows().

La seconda parte dell'attività consiste nel connettere il segnale cliccato del pulsante allo slot che esegue la rimozione.

+0

Grazie per la risposta! – laura

1

È possibile utilizzare un altro modo eliminando la riga dal database, quindi cancellare il modello e riempirlo nuovamente, questa soluzione è anche sicura quando si rimuovono più righe.

+3

Penso che sarebbe meglio evitare questo tipo di pensiero. – g24l

+0

Questo è un overhead però. I modelli sono abbastanza maneggevoli. –