Bonjour,

J'ai une QStringList qui se met à jour en lisant un fichier dans le constructeur de la fenêtre principale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
QString fileList ="liste.txt";
    QFile fichierList(fileList);
    fichierList.open(QIODevice::ReadOnly | QIODevice::Text);
    QTextStream flux(&fichierList);
    QString lectureLigne;
 
 
    while(!flux.atEnd())
    {
        lectureLigne = flux.readLine();
        listeCategorie<<lectureLigne;
    }
Ensuite j'ai ajouté une classe héritant de QDialg permettant d'ajouter un élement à cette QStringList :
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
QString fileName = nomCategorie->text() + ".txt";
    QFile fichier(fileName);
    fichier.open(QIODevice::WriteOnly | QIODevice::Text);
 
    QString fileList = "liste.txt";
    QFile fichierList(fileList);
    fichierList.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append);
    QTextStream flux(&fichierList);
 
    flux<<nomCategorie->text();
    flux<< '\n' ;
    m_liste<<nomCategorie->text();
 
    fichierList.close();
    this->close();
Donc ceci va ajouter un élément à la QStringList, m_liste correspondant à la qStringList passée par référence, de plus j'écris cette valeur dans le fichier lue dans le code précédant.


Ensuite j'ai crée une autre QDialog dans laquelle j'ai mit une qcombobox avec la QStringList via additems :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
FenAjouter::FenAjouter(QStringList &listeCategorie, QWidget *parent) : QDialog(parent)
{
  m_categorie=listeCategorie;
  QGridLayout *gridlayout = new QGridLayout(this);
 
    form = new QFormLayout;
    verset = new QTextEdit;
    referance= new QLineEdit;
    ok = new QPushButton("Entrer");
    annuler = new QPushButton("Annuler");
    categorie = new QComboBox;
    categorie->addItems(m_categorie);
Le problème c'est que quand j'ajoute un élément à la QStringList et que ensuite j'ouvre la deuxième QDialog avec la QComboBox celle-ci n'est pas mise à jour, en revanche si je ferme le programme et que je le relance alors là c'est bon la QComboBox comporte bien tous les éléments.

Merci beaucoup pour votre aide