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 :

Récupération de données au démarrage


Sujet :

Qt Quick

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2017
    Messages : 29
    Points : 26
    Points
    26
    Par défaut Récupération de données au démarrage
    bonjour;
    je suis un peu débutant en qml et pyqt.
    donc ma question est comment récupérer des données depuis une fonction python on utilisant qml(javascript) , dans l'exemple qui suit je veux afficher le text "grrrrrrrrrr" non pas "mettre a jour".
    voici mon code python: main.py

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    class MainApp(QObject):
        def __init__(self, context, parent=None):
            super(MainApp, self).__init__(parent)
     
            self.win = parent
            self.ctx = context
     
        @pyqtSlot()
        def alll(self):
            a = "grrrrrrrrrrrrrrr"
            self.ctx.setContextProperty("retour", a)
     
    if __name__ == "__main__":
     
        app = QApplication(sys.argv)
        engine = QQmlApplicationEngine()
        # Création d'un objet QQmlContext pour communiquer avec le code QML
        ctx = engine.rootContext()
        engine.load('main.qml')
        win = engine.rootObjects()[0]
        py_mainapp = MainApp(ctx,win)
        ctx.setContextProperty("py_MainApp", py_mainapp)
        win.show()
        sys.exit(app.exec())


    et voici mon code : main.qml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Text {
     
                        id: name
     
                        text: "Mettre a jour ..."
                        function findGreetings() {
                            text = "kkkkk"
                            py_MainApp.alll()
     
                            alert1 = retour
                            console.log(alert1)
     
                        }
     
                        Component.onCompleted: findGreetings()
     
                    }
    l'erreur que j'ai eu est qu'il ne connais pas py_MainApp.
    a savoir aussi quand j’utilise le onClicked et j'appelle le py_MainApp tous marche bien .
    merci d'avance.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2017
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    c'est bon c'est réglé il suffit d'appelé la fonction avant le chargement de fichier qml

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    class MainApp(QObject):
        def __init__(self, context, parent=None):
            super(MainApp, self).__init__(parent)
     
            self.win = parent
            self.ctx = context
     
     
    def alll():
        a = "grrrrrrrrrrrrrrr"
        ctx.setContextProperty("retour", a)
     
    if __name__ == "__main__":
     
        app = QApplication(sys.argv)
        engine = QQmlApplicationEngine()
        # Création d'un objet QQmlContext pour communiquer avec le code QML
        ctx = engine.rootContext()
        alll()
        engine.load('main.qml')
        win = engine.rootObjects()[0]
        py_mainapp = MainApp(ctx,win)
        ctx.setContextProperty("py_MainApp", py_mainapp)
        win.show()
        sys.exit(app.exec())

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2004, 11h09
  2. Réponses: 2
    Dernier message: 20/02/2004, 09h47
  3. [ DB2] => [ORACLE] Récupération de données
    Par LeDid dans le forum DB2
    Réponses: 3
    Dernier message: 25/06/2003, 18h10
  4. Réponses: 13
    Dernier message: 20/03/2003, 09h11
  5. [XMLRAD] récupération de donnée
    Par Mitch79 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 30/01/2003, 16h36

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