C'è un modo per copiare un QStandardItemModel su un altro QStandardItemModel? Oppure devo scorrere su ciascun argomento e aggiungerlo all'altro modello?Copia QStandardItemModel su un altro
risposta
Un articolo può essere di proprietà di un solo modello. Ecco perché è necessario creare una copia di ciascun articolo e posizionarlo su un altro modello. Puoi farlo usando il metodo QStandardItem::clone
.
Questo è un esempio per i modelli a colonna singola:
void copy(QStandardItemModel* from, QStandardItemModel* to)
{
to->clear();
for (int i = 0 ; i < from->rowCount() ; i++)
{
to->appendRow(from->item(i)->clone());
}
}
EDIT:
Uso to->removeRows(0, to->rowCount());
invece di to->clear();
se si desidera conservare i dati di intestazione e le dimensioni delle colonne nelle viste collegate.
A mio parere 'to-> removeRows (0, to-> rowCount())' dovrebbe essere migliore di 'to-> clear()', perché non rimuove le impostazioni generali del modello come le intestazioni, la modalità di ridimensionamento, ecc. – Gluttton
@Gluttton Un modello non ha impostazioni come "modalità di ridimensionamento". Vuoi dire che chiamare 'clear' impone una vista per reimpostare le dimensioni delle colonne? – Ezee
"Intendi", Sì, davvero! – Gluttton
Si potrebbe fare copia di un elemento esistente con passi successivi:
- voce Get esistente.
- Crea nuovo elemento.
- Imposta i ruoli dati necessari dall'elemento esistente a uno nuovo.
- Fai lo stesso con le bandiere.
Oppure utilizzare semplicemente il metodo QStandardItem::clone()
. E reimplementalo, se necessario.
- 1. Copia virtualenv completa su un altro pc
- 2. Copia repository Maven su un altro computer
- 3. Copia NSMutableArray ad un altro
- 4. Copia i contenuti bitmap di un ImageView su un altro
- 5. Copia un array di stringhe su un altro
- 6. Copia oggetto in un altro
- 7. copia l'intero database su un altro database del server
- 8. Copia del database PostgreSQL su un altro server
- 9. Spostamento della copia di lavoro svn su un altro computer
- 10. copia un grafico (adjacency_list) in un altro
- 11. Copia tabella in un altro database su un altro SQL Server
- 12. Chiave ssh copia affidabile da un host a un altro
- 13. Copia file da un server a un altro
- 14. Copia i target da un progetto Xcode a un altro?
- 15. Copia una colonna da un database ad un altro
- 16. Copia righe da un Datatable a un altro DataTable?
- 17. Copia del contenuto di un NSMutableDictionary in un altro NSMutableDictionary?
- 18. Copia da un file xml a un altro - powershell
- 19. Copia tabella in un db ad un altro db
- 20. Copia classe da un elemento a un altro
- 21. Copia dati da un database a un altro in Oracle
- 22. R: copia/sposta un ambiente ad un altro
- 23. Copia un contenuto di righe e la formattazione (su un altro foglio)
- 24. Copia datatable come colonne in un altro datatable
- 25. C++ copia specificata contenuto vettoriale di un altro vettore
- 26. copia due matrici bidimensionali ad un altro array bidimensionale Java
- 27. SQL Server - copia stored procedure da un db a altro
- 28. Copia di una cartella non tracciata in un altro ramo
- 29. Come resettare un ramo su un altro ramo con git?
- 30. Copia di chiavi e certificati su un altro sviluppo per Mac per iPhone
Si dovrebbe scorrere su ciascun articolo e COPIARE (non aggiungerlo) a un altro modello. –
Come faccio una copia? – Matthias