IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Probléme avec QSlider


Sujet :

Qt

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Points : 131
    Points
    131
    Par défaut Probléme avec QSlider
    Bonjour, je veux lier certaines de mes valeurs dans une operation à un QSlider et que la valeur change quand je "move" le bouton de mon QSlider!Donc ce que je voudrais c'est :
    *recupérer dans une variable la valeur du QSlider à chaque fois que je fais un "move" sur mon QSlider.
    * mettre à jour mon calcule qui gére les valeurs des pixels de mon image.J'ai
    Help please , je sais si c'est possible ce que je veux faire
    merci d'avance

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Comme d'Hab tu dois utiliser le principe des signaux et slots. Tu connect ton slider avec par exemple le signal sliderMoved( int value ) et tu devrais t'en sortir. Ou alors j'ai vraiement pas compris ce que tu voulais faire.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    la valeur comme précisé plus haut est passer en paramètre sliderMoved( int value ). Tu n'a rien de spécial a faire normalement.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  4. #4
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Exemple très simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // quelque part dans le constructeur de ton widget par exemple
    connect(ui.leSlider, SIGNAL(sliderMoved(int)), this, SLOT(printSliderValue(int)));
     
    // dans la déclaration de la classe de ton widget 
    public slots:
      void printSliderValue(int newvalue);
     
    // dans la définition des fonctions membres de ton widget
    void TonWidget::printSliderValue(int newvalue)
    {
      std::cout << "Le slider a bougé. Sa nouvelle valeur est : " << newvalue << std::endl;
    }
    }
    Sans oublier de mettre la macro Q_OBJECT au début de la déclaration de ta classe, et de passer un coup de moc (moc tonwidget.h -o moc_tonwidget.cpp) et donc ensuite de rajouter moc_tonwidget.cpp à ton projet.

    Si tu as du mal à comprendre, voici quelques liens qui vont t'aider :
    http://matthieu-brucher.developpez.c...t/signal-slot/
    http://qt.developpez.com/faq/?page=qt4Core -> il y a quelques Questions/Réponses sur le système de signaux/slots.

  5. #5
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Dans ce cas, il faut que tu mettes min et max en attributs de ta classe, et que tu fasse un slot, connecté à sliderMoved(int) de ton slider, qui mettra à jour les valeurs de tes attributs min et max grâce aux valeurs des sliders.

  6. #6
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Pose toi et réfléchis deux secondes : tu remarques que ton setPixel tu ne le fais que dans le constructeur, alors qu'il faut le faire dès que la valeur du slider change. C'est à dire que tu connectes NewMax, NewMin, mais qu'il te faut une troisième fonction/slot qui mettra à jour l'image dès qu'une valeur a changé. Et tu connectes ce slot aux deux signaux (il suffit pour ça de faire deux fois connect, la première fois sur le changement de valeur du slider pour min, et même chose pour max).

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Points : 131
    Points
    131
    Par défaut
    Je vous remercie les guars!!Merci Alp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo