Coucou ^^
Alors voilà j'ai un petit problème.
J'utilise un fichier .ini, avec un QSettings afin de récupérer des paramètres d'une classe à l'autre.
Le problème est que j'essaie d'ouvrir ce même fichier alors qu'il n'est pas fermé ailleurs.
Voilà un bout de code qui explique ce que je fais :
Le signal modificationFichier est connecté au slot slotClasseB.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 void slotClasseA (void) { qDebug("classe A : on écrit dans le fichier.ini"); QSettings settings ("monfichier.ini",QSettings::IniFormat); settings.setValue("hauteur",10); emit modificationFichier(void); qDebug("fin slot classe A"); } void slotClasseB (void) { qDebug("classe B : on lit dans le fichier.ini"); QSettings settings ("monfichier.ini",QSettings::IniFormat); int valeurLue = settings.value("hauteur").toInt(); qDebug("fin slot classe B"); }
Mon problème : Je ne peux pas récupérer les valeurs dans le fichier.ini, dans la classeB.
Voilà ce que l'on peut observer dans la console avec les qDebug :
On voit bien que le slot de la classe A n'est pas terminé (quand on est dans la classe B), je suppose donc que je n'arrive pas à récupérer les valeurs parce que le fichier n'a pas été fermé, donc je ne peux pas le réouvrir. J'ai déjà essayer en appelant le destructeur du QSettings avant d'emettre le signal, mais le programme plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 classe A : on écrit dans le fichier.ini classe B : on lit dans le fichier.ini fin slot classe B fin slot classe A
Existe-t-il un moyen de fermer un fichier.ini avec un QSettings ? Sinon avez-vous une solution ?
Partager