Manipulation d'un attribut de type QListIterator
Bonsoir à tous,
(Eh oui encore une question...)
Alors je fais appel à vous cette fois car je rencontre un petit probleme (mais costaud) avec un QListIterator.
Voila le probleme:
First of all, j'avais besoin d'un attribut de type QListIterator dans ma classe; j'ai du declarer un pointeur de cet attribut et faire une petite bidouille car un QListIterator n'est pas instanciable sans lui avoir passé en argument un Qlist... bref ensuite voila le probleme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
bool Dialog::listProcessing() {
qDebug() << "begin of list processing...";
QFile list(lineEdit->text());
list.open(QIODevice::ReadOnly);
QString line;
while(1) {
line = (QString)(list.readLine());
if (line.isEmpty())
break;
if (line.startsWith("#image#")) {
line.remove("#image#");
file << line.trimmed();
}
}
QListIterator<QString> i(file);
iterator = &i;
//iterator->next();
print(iterator->next());
qDebug() << "end of list processing!";
}
void Dialog::previous() {
if (iterator->hasPrevious());
print(iterator->previous());
}
void Dialog::next() {
if (iterator->hasNext())
print(iterator->next());
} |
Dans ma fonction listProcessing() l'utilisation des iterator->next() fonctionnent à merveille (meme celui de la ligne commentée)... mais une fois rentré dans une des deux dernières fonctions: plantage et fermeture du programme sans afficher l'image suivante (ou precedente, selon le cas).
Apres un petit debuggage, je me rend compte que l'utilisation de iterator->next() ou previous() ne fonctionne que dans listProcessing();
Alors je fait appel à votre serviabilité... aidez moi svp.
PS: list est un fichier ASCII qui contient deux chemin d'images chacun ecrit sur une ligne.
N'hesitez pas si vous desirez plus d'info., merci par avance.
Mac & Cheese