Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] passage de float en QString

    30 mars 2008 à 14:10:39

    bonjour à tous,

    j'ai un soucis sur un bout de code dont je ne comprend pas le problème. Il existe quelques sujets similaires sur le forum mais qui ne répondent pas à mon soucis.

    En gros j'ai le code suivant:
    1. vector< vector<float> >::iterator iter; // mat;
    2. vector< vector<float> > mat = m->getMat();
    3. vector< float >::iterator iter2;
    4. int i,j;
    5. i = 1;
    6. for(iter=mat.begin();iter!=mat.end();iter++,i++)
    7.         {
    8.         j= 1;
    9.         for(iter2=(*iter).begin();iter2!=(*iter).end();iter2++,j++)
    10.                 {
    11.                 //cout << (*iter2) << endl;
    12.                 QString mastr = QString::number(12.1);
    13.                 //mastr = mastr.setNum(12.1);
    14.                 l_lv = new QLabel(mastr);
    15.                 grid->addWidget(l_lv,i,j);
    16.                 }
    17.         }


    le QLabel et le layout sont déclaré, mais je n'ai pas mis tout le code :)

    si j'écris:
    1. QString mastr = QString::number(12);

    donc un int (12) à la place du double (12.1) je n'ai pas d'erreur de segmentation et les labels s'affichent correctement.
    le passage au double provoque une erreur de segmentation o_O

    Même chose en utilisant setNum().
    si je met:
    1. mastr.setNum(12)

    je n'ai aucun soucis
    par contre
    1. mastr.setNum(12.1)

    renvoie là aussi une erreur de segmentation.

    Le but étant au final de récupérer les float contenu dans la matrice et de les afficher des les labels.

    si je change le QLabel en
    1. l_lv = new QLabel("chaine bidon");

    ça marche dans la mesure où le code avec la converstion float/double en QString est mise en commentaire.

    C'est donc bien de cette converstion que vient le problème.

    J'ai essayé de passer un float a setNum() sans résultat (float n = 45.6; str.setNum(n); )
    J'ai aussi essayé de changer le format et la précision pour la fonction setNum(float, char format,int précision) (voir doc de QString).

    Je ne sais plus quoi faire, je dois bien faire une erreur quelque part...
    • Partager sur Facebook
    • Partager sur Twitter

    [Qt] passage de float en QString

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown