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 :

Un paramètre dans un connect


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut Un paramètre dans un connect
    Salut,

    Bon, avant tout je débute, il y aura pleins de petites fautes moches (mais qui marchent quand même) dans les codes, ok ?

    Je code actuellement un petit menu, qui récupère la liste des dossiers, et crée un QPushButton par dossier.
    Jusque là, pas de soucis.

    Maintenant, je cherche à ce que au clic, il appèle par exemple la fonction ouvrir().

    Le problème c'est que j'ai besoin de savoir "qui" (= quel bouton) appelle la fonction.
    J'ai bien pensé à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QObject::connect(btn[i], SIGNAL(clicked()), qApp, SLOT(ouvrir(ent->d_name)));
    mais c'est bien évidement faux.

    Ainsi, je me demande s'il y a moyen de passer un paramètre à un connect, ou, dans le fonction ouvrir(), savoir qui est l'appelant.

    Mika.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut
    J'ai le droit de faire ?

    Merci =)

    Mika.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut
    Re,

    Bon, je m'en suis plutôt pas mal sortit, après 2 heures de combats, mais bon...

    Bref, j'ai réussit à utiliser une fonction "personnelle", j'affronte maintenant un crash du logiciel...

    Voici le code que j'utilise (pour tests)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Appelé par : %s\n", emetteurCasted->text());
    (ce que va dans le if() de la FAQ)

    Le programme se lance, mais crash sur un rapport d'erreur.

    De plus, il y a un warning à la compilation :

    cannot pass objects of non-POD type `class QString' through `...'; call will abort at runtime
    Allez, un âme généreuse ? =)


    Mika.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Marrant, je ne connaissait pas cette erreur.

    printf prend des type primitif, comme int, double, float char, chra*,...
    ici tu veut passer un QString.
    Si tu veut afficher quelque chose sur la console, et comme tu es en Qt, utilise plutôt qDebug()
    http://qt.developpez.com/doc/latest/...al.html#qDebug

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut
    C'est presque ça =)
    Enfaite, comme tu l'a dit, printf() ne prend pas QString...

    Bref, j'ai juste fait qPrintable(emetteurCasted->text()) au lieu de emetteurCasted->text()

    Ça marche niquel, vous êtes vraiment trop fort ^^

    Mika.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/04/2013, 22h45
  2. Ajout de paramètres dans le path du forward
    Par sylvain_neus dans le forum Struts 1
    Réponses: 6
    Dernier message: 14/11/2007, 17h31
  3. [jsp][struts] paramètre dans un iframe.
    Par ultimax dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 12/10/2004, 09h25
  4. Mettre la valeur d'un paramètre dans un champs
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/10/2004, 16h08
  5. [CR] insérer une image paramétrer dans une étiquette
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 22/08/2004, 11h58

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