Mon premier programme Qt ...

Bon voilà … Je viens de finir mon premier programme Qt, je dit bien que c’est le [size=150]premier[/size].
En gros vous avez un scroll et vous le déplacer de gauche à droite ( ou l’inverse ) et ça affiche sa valeur. La petite image :

Ah oui, si quelqu’un pourrait m’expliquer quelque chose : quand je suis tout à droite la valeur est de 99 alors qu’elle devrait être de 100, quelqu’un à une idée de ce “bug” ? C’est peut-être mon code … La partie est la :

[code]m_slider = new QSlider(Qt::Horizontal, this);
m_slider->setGeometry(0, 40, 100, 30);

QObject::connect(m_slider, SIGNAL(valueChanged(int)), m_lcd, SLOT(display(int)));[/code]

Pour le téléchargement, le site : piopoune98.fr/
le lien : piopoune98.fr/download/Programme.exe

PS : c’est une archive SFX, sans mot de passe

Euh, attends voir, ça sert à rien de donner ça à télécharger.
Je veux bien comprendre que cela soit ton premier programme, mais on en a rien à cirer d’une fenêtre QT qui affiche une valeur en fonction du “scroll”.

Bon voilà, c’est tout ce que j’avais à dire. Pour ton problème Victor doit pouvoir te répondre.

Enfaite le téléchargement, c’est pour montrer le bug … Peut-être que ça aidera d’autres à comprendre le bug …

Déjà, pourquoi tu n’utilises pas la dernière version de Qt ?

Dans ton programme, tu ne précise nul part que le maximum doit être 100. :wink:
Il faut utiliser la fonction

m_slider->setMaximum(100);

Ok, ça fonctionne mais une petite question encore, si je veux que la valeur de la barre ( slider ) soit dans la variable val_slider je fais string var_slider = setvalue(m_slider); ?

var_slider = setvalue(m_slider);

Ton code veut rien dire…

C’est :

var_slider = m_slider->value();

Ah, sur le SDZ il disent pas comment faire alors … J’invente :smiley:

Fais un tour sur la documentation de Qt (en anglais) et mets à jour ta version de Qt : tu utilises la 4.5, la 4.7.2 est disponible. :wink:

Ok est aussi quand je créer mon slider, des fois il bouge et des fois non :

QWidget *zoneCentrale = new QWidget; QSlider *slider = new QSlider(Qt::Horizontal, this); slider->setMaximum(100); int val_slider = slider->value(); setCentralWidget(zoneCentrale);

val_slider contient la valeur du slider au début, il faut mettre à jour la valeur de val_slider à chaque mouvement du slider.
Enfin, regarde bien le sdz, j’ai appris à me servir du C++/Qt avec le sdz.

Ça fait 1h que je cherche et je trouve pas :confused:

connect(nombre, SIGNAL(valueChanged(int)), var_nombre, SLOT(nombre->value()));

ou

connect(nombre, SIGNAL(valueChanged(int)), var_nombre, SLOT(value()));

Fonctionnent pas :’(

c’est normal,
[size=200]LIS LE SITE DU ZERO[/size],
il faut en fait que tu te crées un slot fait maison. :wink:

Merci pour l’indice :smiley:

Note :
En cas de demande d’aide, ne dites pas “Ca ne fonctionne pas”, car ça n’aide pas du tout votre interlocuteur à cerner le problème. Dites plutôt “Je m’attendais à avoir … mais au final j’obtiens ceci …” ou copiez le message d’erreur en entier si jamais vous en avez un ( Avec le compilateur ou durant l’exécution du programme selon le problème ).

Bah tu connais Windows XP ( j’ai aussi Seven mais ‘arrive pas à utiliser Qt :’( ), il me laisse pas copier le code console

Je veux pas être méchant, mais t’es pas doué, Qt marche parfaitement sur Seven, qui plus est 64 bits. :wink:

Nan le problème c’est les DLLS, ça fonctionne correctement mais c’est les DLLS de Seven 32bits, il me manque une entrée