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 Quick Discussion :

Communication entre QML et C++


Sujet :

Qt Quick

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Santé

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut Communication entre QML et C++
    Bonjour,

    je débute avec Qt et j'essai de faire communiquer le code C++ avec le code QML comme décrit dans
    cet article de la doc Qt http://doc.qt.io/qt-5/qtqml-cppinteg...mlfromcpp.html.

    dans ce tuto,il propose de charger un fichier .qml puis de modifier une des propriétées à partir
    du code c++
    voici les codes fournit dans cet article

    le qml
    Nom : a.jpg
Affichages : 339
Taille : 24,0 Ko

    l'affichage du qml à partir du C++
    Nom : b.jpg
Affichages : 336
Taille : 29,0 Ko

    modification d'une propriétée de l'objet racine
    Nom : c.jpg
Affichages : 333
Taille : 22,7 Ko

    modification d'une propriétée d'un objet enfant
    Nom : d.jpg
Affichages : 323
Taille : 26,6 Ko

    j'arrive bien à afficher mon qml à partir de mon projet Qt que voici;

    Nom : 1.jpg
Affichages : 335
Taille : 21,8 Ko

    Nom : 2.jpg
Affichages : 335
Taille : 144,3 Ko

    Nom : 5.jpg
Affichages : 333
Taille : 36,7 Ko

    Nom : 4.jpg
Affichages : 340
Taille : 72,6 Ko

    Nom : 3.jpg
Affichages : 323
Taille : 17,9 Ko

    mais quand j'ajoute la ligne suivante;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QObject *object = view.rootObject();
    j'obtient l'erreur suivante ;

    Nom : e.jpg
Affichages : 332
Taille : 23,3 Ko

    j'ai essayé différent cast mais j'ai toujours le refus du compilateur.
    je suis donc bloquer à ce niveau et je ne peut donc pas accèder à mon objet qml.

    j'ai aussi essayer avec l'autre solution du tut ;

    Nom : f.jpg
Affichages : 322
Taille : 43,8 Ko

    mais là je n'ai rien qui s'affiche (mais je n'ai pas d'erreur à la compilation)

    qu'est ce qui ne va pas ?

    ps:

    voici ma version de Qt Creator;

    Nom : version Qt.jpg
Affichages : 318
Taille : 70,2 Ko

    (j'ai aussi lu ce très bon tut http://louis-du-verdier.developpez.c...communication/ mais il est ancien et
    je n'arrive pas à compiler)

  2. #2
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    D'après la doc QQuickView::rootObject() renvoie un pointeur de type QQuickItem, c'est d'ailleurs le message d'erreur que Qt Creator t'indique.

    As-tu essayé avec cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QQuickItem *object = view.rootObject();
    Tu peux aussi lire ce billet dans lequel tu y trouveras deux solutions pour faire ce que tu veux. Et si tu débutes réellement n'hésite pas à lire mes tutos

    PS : n'hésite pas à utiliser la balise [code] pour tes prochains messages.

    ++


    J

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Santé

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Merci de m'avoir répondu.
    ta solution marche nickel.
    j'ai honte de moi de ne pas y avoir pensé ...
    je vais de suite lire tes tutos

    Bonne journée.

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

Discussions similaires

  1. Communication entre QML et C++/Qt
    Par Amnell dans le forum Qt
    Réponses: 0
    Dernier message: 25/08/2011, 02h17
  2. Réponses: 5
    Dernier message: 25/03/2003, 20h43
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 09h05

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