Bonsoir

Je souhaite ouvrir un fichier et lancer des calculs avec ses données.
J'ai créer un menu fichier , un onglet ouvrir .
Quand je selectionne ouvrir , j'arrive à ouvrir le fichier mais une fois ouvert lorsque je clic sur le bouton calcul ... le logiciel plante et ce ferme

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
24
25
26
27
28
29
//ouverture d'un fichier de donnée type csv et traitement
 
void Traitement::on_actionOuvrir_triggered()
{
    // Ouverture d'une boîte de dialogue où l'utilisateur va indiquer l'emplacement, et le nom, d'un fichier à ouvrir.
    //La variable de type QString va contenir l'emplacement et on choisi le type de fichier .
    QString fichier = QFileDialog::getOpenFileName(0, "Ouvrir un fichier", QString(), "Fichier CSV (*.csv)");
 
}
 
void Traitement::on_CALCULS_clicked()
{
 
 
  // On se sert de QFile avec le chemin que l'on vient de récupérer
 
    QList<double>listefinale;
    QList<double>listefinale2;
    QFile file(fichier);
        if(file.open(QIODevice::ReadOnly|QIODevice::Text))
 
            QTextStream stream(&file);
 
        while(!file.atEnd())
 
        {
            QString line = file.readLine();
    //on separe les valeur de la  ligne a chaque :
                QStringList list = line.split(";");
Alors que si je laisse le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
void Traitement::on_actionOuvrir_triggered()
vide mais que j'inclus cette opération d'ouverture de fichier en cliquant directement sur le bouton Calculs , j'ouvre bien le fichier et les calculs se lance ...

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
24
25
26
27
28
29
//ouverture d'un fichier de donnée type csv et traitement
 
void Traitement::on_actionOuvrir_triggered()
{
    // Ouverture d'une boîte de dialogue où l'utilisateur va indiquer l'emplacement, et le nom, d'un fichier à ouvrir.
    //La variable de type QString va contenir l'emplacement et on choisi le type de fichier .
 
}
 
void Traitement::on_CALCULS_clicked()
{
 
    QString fichier = QFileDialog::getOpenFileName(0, "Ouvrir un fichier", QString(), "Fichier CSV (*.csv)");
 
  // On se sert de QFile avec le chemin que l'on vient de récupérer
 
    QList<double>listefinale;
    QList<double>listefinale2;
    QFile file(fichier);
        if(file.open(QIODevice::ReadOnly|QIODevice::Text))
 
            QTextStream stream(&file);
 
        while(!file.atEnd())
 
        {
            QString line = file.readLine();
    //on separe les valeur de la  ligne a chaque :
                QStringList list = line.split(";");
Je ne comprend pas mon erreur

Merci à vous