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

Discussion :

Signaux : associer une action à une fonction définie

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Par défaut Signaux : associer une action à une fonction définie
    Salut à tous,
    je débute sur Qt, je commence à maîtriser les bases dont la gestion des signaux par SLOT.

    J'arrive tout à fait à faire correspondre une action à un SLOT, mais toujours avec des fonctions indéfinies, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    connect(bouton, SIGNAL(clicked()), this, SLOT( afficheImage() ));
    connect( slider, SIGNAL( changedValue(int) ), this, SLOT( changeValeur(int) ) )
    Or j'aimerais faire une combinaison des 2 en mettant qu'un click sur un certain bouton mette automatiquement ma fonction SLOT avec une valeur défini à la place de int :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    connect( bouton, SIGNAL(clicked()), this, SLOT( changeValeur( 2 ) ) )
    J'ai essayé de plusieurs manière impossible de le faire fonctionner.
    J'ai toujours l'erreur "no such slot"...

    Est ce possible ?
    Y a t'il une combine pour contourner le problème ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Par défaut
    Bonjour,
    tu peux toujours connecter avec un int defaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect( slider, SIGNAL( changedValue(int) ), this, SLOT( changeValeur(int)
    et dans ton slot changeValeur, au lieu d'utiliser le "int" de paramètre, utilise la valeur que tu veux

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Par défaut
    Merci de ta réponse,
    je découvre qu'il est possible de faire ma manipulation avec un slider.

    Par contre, j'aurais besoin de quelque chose qui ressemble d'avantage à un bouton pour l'esthétique de mon application.
    Est ce qu'il y a moyen de transformer ma barre en une icône-image fixe ?

    J'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QObject::connect( slider, SIGNAL(changedValue(int)), this, SLOT( metOrientation( 0) ) );
    Malheureusement pas de résultats, toujours "no such slot" en erreur.

    Je pense que le meilleur est de mettre une fonction par bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    QObject::connect( bouton1, SIGNAL(clicked()), this, SLOT( valeurBouton1() ) );
    QObject::connect( bouton2, SIGNAL(clicked()), this, SLOT( valeurBouton2() ) );
    QObject::connect( bouton3, SIGNAL(clicked()), this, SLOT( valeurBouton3() ) );
    Ça alourdit mon code mais ça marche.

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009

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

Discussions similaires

  1. Programmer une action à une heure définie
    Par BakaOnigiri dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 26/10/2007, 14h21
  2. Executer une action en fonction d'un etat
    Par gloubi dans le forum Flash
    Réponses: 2
    Dernier message: 30/03/2007, 21h55
  3. associer un son à une action
    Par Invité dans le forum Access
    Réponses: 8
    Dernier message: 28/02/2007, 14h47
  4. Associer une KeyEvent à une Action
    Par Core8 dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 29/12/2006, 18h22
  5. Réponses: 11
    Dernier message: 05/12/2005, 10h08

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