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

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : février 2009
    Messages : 383
    Points : 651
    Points
    651
    Par défaut [Qt 5] Nouvelle syntaxe pour les signaux et slots : comment distinguer les signaux selon leurs arguments ?
    Suite de http://www.developpez.net/forums/d13...-slots-qt-5-a/.

    Merci! Ce nouveau fonctionnement est plus pratique.

    Par contre, j'aurais aimé savoir si une solution existe lorsqu'il existe plusieurs implémentation de signaux du même nom.
    Example (http://qt-project.org/doc/qt-5.0/qtw...rentIndex-prop)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void	currentIndexChanged(int index)
    void	currentIndexChanged(const QString & text)
    Comment compiler avec l'un des deux signaux ?

    Si c'est possible, ce serait génial de la rajouter.
    Le seul moyen que j'ai trouvé, c'est d'utiliser l'ancien fonctionnement des signaux/slots.
    Un petit si la réponse convient. Merci.

  2. #2
    Modérateur

    Avatar de Winjerome
    Homme Profil pro
    Inscrit en
    septembre 2009
    Messages
    10 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : septembre 2009
    Messages : 10 777
    Points : 65 760
    Points
    65 760
    Par défaut
    Bonjour,

    Il faut utiliser static_cast comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    QComboBox * comboBox = new QComboBox;
     
    // utilisation de : void currentIndexChanged(int index)
    connect(
        comboBox,
        static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
        /* ... */);
     
    // utilisation de : void currentIndexChanged(const QString & text)
    connect(
        comboBox,
        static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
        /* ... */);
    Avant de poser votre question : FAQ, Tutoriels et recherche sur le forum
    Une erreur ? Messages d'erreur et avertissements
    "Ça ne marche pas" n'apporte aucune information utile permettant de vous aider. Expliquez clairement votre problème (erreurs entières, résultat souhaité vs obtenu...).
    En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
    L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
    Mes extensions FireDVP (Firefox), ChroDVP (Chrome) : suivi des nouveaux messages, boutons/raccourcis et bien plus !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : février 2009
    Messages : 383
    Points : 651
    Points
    651
    Par défaut
    Merci pour le tip!
    Un petit si la réponse convient. Merci.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/11/2014, 18h50
  2. Réponses: 1
    Dernier message: 26/06/2007, 12h26
  3. Réponses: 5
    Dernier message: 03/08/2006, 16h13
  4. Réponses: 2
    Dernier message: 13/07/2006, 09h21
  5. Réponses: 6
    Dernier message: 03/05/2006, 11h01

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