Hello tout le monde, étant nouveau ici c'est mon premier message sur ce site; même si je l'ai souvent visité.


Voila mon problème, dans un projet Qt4, j'ai une classe NumericDiscretParameter qui contient entre autres (dans le .h)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
double value;
QList<double> possibleValues;//liste de valeurs que value peut rendre
Et une méthode (dans le .cpp):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
bool NumericDiscretParameter::isValid(double v)
{
    if(this->possibleValues.contains(v))
    {
        this->value = v;
        this->currentInd = this->possibleValues.indexOf(v);
        this->recorded=false;
        emit changed();
        return true;
    }
    return false;
}
Tout ce passe bien tant que possiblesValues ne contient que des entiers (des types double mais entier). Mais quand je commence à ajouter des nombres à virgule, la méthode QList::contains() a un drôle de comportement et me renvoi tout le temps false;

Pourtant j'ai fait afficher toutes les valeurs contenues dans la QList et la valeur que je cherche est bien dedans.
Quelqu'un a déjà vu ça? Parce que là ça reste un mystère


Merci pour vos lumières.