Maison > développement back-end > C++ > le corps du texte

Comment connecter des signaux C avec des paramètres QString aux emplacements QML ?

Barbara Streisand
Libérer: 2024-11-03 09:25:03
original
984 Les gens l'ont consulté

How to Connect C   Signals with QString Parameters to QML Slots?

Connexion des signaux C aux emplacements QML

Dans Qt, la communication entre C et QML peut être réalisée en connectant les signaux C aux emplacements QML. Bien que l'envoi de paramètres de type primitif fonctionne de manière transparente, l'envoi de signaux avec des types complexes comme QString peut entraîner des erreurs.

Connexion avec les paramètres QString

Pour connecter un signal transportant une QString à un emplacement QML, la norme La méthode de connexion objet à objet utilisant QObject::connect() peut ne pas suffire. Au lieu de cela, utilisez les Connexions de Qt pour établir le lien.

Procédure :

  1. Exposer l'objet C dans QML : Ajoutez votre objet C au fichier QML en utilisant setContextProperty.
<code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
Copier après la connexion
  1. Définissez le signal : Votre signal C ressemblera maintenant à ceci :
<code class="cpp">finishedGatheringDataForItem(QString signalString)</code>
Copier après la connexion
  1. Ajouter des connexions dans QML : Établir des connexions dans QML file:
<code class="qml">Connections {
    target: YourObject
    onFinishedGatheringDataForItem: {
        qmlString = signalString
    }
}</code>
Copier après la connexion

Cela créera une connexion entre le signal finiGatheringDataForItem en C et le gestionnaire onFinishedGatheringDataForItem en QML, vous permettant de gérer efficacement le paramètre QString.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal