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 :

Obtenir une valeur de retour


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut Obtenir une valeur de retour
    Bonjour,
    Comment obtenir une valeur de retour, si dans mon fichier .js j'ai en QtScript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(...)
        return 0;
    if(...)
        return 1;
    return 2;
    J'aimerai obtenir la valeur de retour dans mon code C++/Qt.
    Je sais pas si les return sont autorisé, mais le principe est la.

    Cordialement

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Pfff, court comme message. Tu utilises Qt Script ou Qt Quick ? Tu peux pas en dire plus sur le contexte ? Comment tu lances ton code JS ?

  3. #3
    Membre éclairé
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Pfff, court comme message. Tu utilises Qt Script ou Qt Quick ? Tu peux pas en dire plus sur le contexte ? Comment tu lances ton code JS ?
    Qt Script. C'est pour déterminer en js coté client le text à afficher. Je le lance comme le hello world en Qt Script donner en exemple.

    Si tu as besoin de plus d'info n'hésite pas.

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Ok. Je sais pas trop quel "hello world" tu parles. Il faudrait donner aussi la version de Qt (4 ou 5 ? je sais pas si ça change grand chose pour ce problème, mais autant le donner systématiquement)
    Je vais supposer aussi que tu appelles simplement une fonction et que tu crées pas une classe accessible en JS ? (dans ce cas, le plus simple aurait été de créer un signal ou une propriété)
    Tu lances comment la fonction ?

    Avec QScriptValue::call, tu peux récupérer un objet QScriptValue contenant le résultat, que tu manipules ensuite comme un QVariant (toString(), toInt(), etc)

  5. #5
    Membre éclairé
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    qt5-src/qtscript/examples/script/helloscript/
    Qt5.
    Non, j'ai mit ça sans fonction, je débute fortement en QtScript (pas en Qt), et donc j'ai du mal à voir comment ça s'organise, et les exemples fournis par Qt ne m'aide pas.

    Je vais regarder autout de QScriptValue::call...

  6. #6
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Ok, avec evaluate.

    La doc qui t'intéresse est celle là : http://doc-snapshot.qt-project.org/q...tive-functions

    Le code d'exemple est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QScriptValue result = engine.evaluate(contents, fileName);
    Donc côté C++, le retour de l'évaluation est déjà récupérer, il n'y a quasi rien à faire. QScriptValue est une forme de QVariant, il faut simplement vérifier s'il n'y a pas d'erreur (ce qui est fait juste après dans le code d'exemple avec isError), vérifier que la valeur est valide avec isValide(), vérifier le type avec les fonctions isBool, isInt, isAutreChose, puis convertir avec toBool, toInt, toAutreChose
    Dans le JS, il suffit d'appeler return (pour une fonction globale en JS)

    Par contre, le code d'exemple n'est pas une fonction à évaluer mais un code manipulant un objet passé en paramètre du QScriptEngine
    Regarde le lien que j'ai donné, tu as des exemples de codes pour évaluer une fonction simple et récupérer le retour

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/10/2007, 12h29
  2. Réponses: 2
    Dernier message: 19/09/2007, 15h00
  3. [Console] Récupérer une valeur de retour
    Par lapanne dans le forum C#
    Réponses: 1
    Dernier message: 13/04/2007, 12h25
  4. [AJAX] Récupération d'une valeur en retour d'un php
    Par lodan dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/02/2007, 21h18
  5. Recuperer une valeur de retour?
    Par nic413 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 06/06/2006, 11h07

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