[Qt] Afficher double dans un label

jobertomeu Messages postés 1289 Statut Membre -  
jobertomeu Messages postés 1289 Statut Membre -
Bonjour,
j'ai un slider, j'aimerais récupérer cette valeur et l'afficher dans un label, mon slider peut prendre les valeurs de 0 à 100 par pas de 1.
Une fois que j'ai cette valeur qui s'appelle slider_out, je voudrai la diviser par 100 pour obtenir une valeur comprise entre 0 et 1 ( soit 0.1, 0.2, 0.3 etc .. )
Mais mon label m'affiche soit 0 soit 1.
voici mon code :
void MainWindow::ShadowWindow(int slider_out) {
    double opF;
    opF = slider_out / 100;
    QString value = QString::number(opF);
    m_label1->setText("Trackbar Value = " + value);
}


Merci ! :)

A voir également:

2 réponses

loupius Messages postés 789 Statut Membre 148
 
Normal, et ceci n'a rien à voir avec Qt, mais avec le 'C'.
Il suffit d'écrire:
  opF = slider_out / 100.;
Bonne continuation.
1
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
J'ajouterai même que normalement le compilateur devrait te mettre un "warning" de conversion de int vers double.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Non pas de warning dans ce sens (int vers double), il s'agit d'une conversion implicite.
0
jobertomeu Messages postés 1289 Statut Membre 86
 
En effet cela marche ! Mais je ne comprend pas pourquoi ! Pourquoi, en rajoutant un point après 100, ça fait tout marcher ? C'est que comme ma variable est de type double, alors il faut que je divise par un nombre décimal & non par un entier ? .. Le point sous entant un "100.0" ?
Et oui, c'est en C++, mais comme Qt gère les widgets et tout, je me suis dit que ça provenait d'une mauvaise configuration de mon QString::number.

Merci en tous cas ! Tip top !
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
100 en effet est interprété comme un entier => division entière, donc 0. "100." est interprété comme un nombre réel à cause du ".", comme tu l'a deviné. Dans ces cas là, le flottant est prédominant sur l'entier et tu as la valeur que tu cherches.
0
jobertomeu Messages postés 1289 Statut Membre 86
 
Ahh ouais d'acc ! Merci beaucoup en tous cas, tu gères ! :)
0