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.
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 :
<code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
<code class="cpp">finishedGatheringDataForItem(QString signalString)</code>
<code class="qml">Connections { target: YourObject onFinishedGatheringDataForItem: { qmlString = signalString } }</code>
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!