Desidero salvare uno QList<int>
in QSettings senza eseguire il looping.
So che potrei usare writeArray() e un ciclo di salvare tutti gli elementi o scrivere il QList ad un QByteArray e salvare questo, ma allora non è leggibile nel mio file INI ..Salva QList <int> in QSettings
Attualmente sto usando quanto segue per trasformare la mia QList<int>
-QList<QVariant>
:
QList<QVariant> variantList;
//Temp is the QList<int>
for (int i = 0; i < temp.size(); i++)
variantList.append(temp.at(i));
E per salvare questo QList<Variant>
ai miei Impostazioni io uso il seguente codice:
QVariant list;
list.setValue(variantList);
//saveSession is my QSettings object
saveSession.setValue("MyList", list);
il QList è correttamente salvato il mio file INI come posso vedere (elenco separato virgola dei miei inti)
Ma la funzione si arresta in modo anomalo all'uscita.
Ho già provato a usare un puntatore ai miei QSettings oggetto, invece, ma poi si blocca su come cancellare il puntatore ..
Quello che non capisco è che, al fine di creare voi 'QVariant' elenco che si ciclo attraverso la vostra lista' int', che proprio voi cerca di evitare. Mi sto perdendo qualcosa? – gregseth
No .. Ho pensato di poter salvare direttamente la mia QList ma sembra funzionare solo con QList .. La cosa che voglio evitare è salvare l'elenco con writeArray, perché l'elenco dovrebbe essere scritto all'interno di un altro comando writeArray e Non so se questo potrebbe funzionare .. –
Tobias
L'ho capito ora come QString .. Invece di scorrere il mio QList per creare un QList Appendo i valori a un QString (virgola separata) come mi piace che venga mostrato in File INI e su Carica ho diviso lo String (con ',') e creato di nuovo il mio QList . –
Tobias