Heim >Backend-Entwicklung >C++ >Wie verbinde ich C-Signale mit QML-Slots mit QString-Parametern?
Verbinden von C-Signalen mit QML-Steckplätzen
Problem:
Beim Versuch, einen QString zu senden Parameter von einem C-Signal an einen QML-Steckplatz übertragen, tritt die Fehlermeldung „Kein solcher Steckplatz“ auf QDeclarativeRectangle_QML_2::updateViewWithItem(QString). anstelle des direkten Steckplatzes eingesetzt werden Verbindungen.
C-Objekt für QML verfügbar machen:
Fügen Sie das C-Objekt (myObj) zur QML-Kontexteigenschaft hinzu, indem Sie setContextProperty() im Haupt-C-Code verwenden .
Definieren Sie in C das Signal als:
<code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
Im QML-Datei, Verbindungen zum exponierten Objekt hinzufügen:
<code class="cpp">finishedGatheringDataForItem(QString signalString);</code>
Das obige ist der detaillierte Inhalt vonWie verbinde ich C-Signale mit QML-Slots mit QString-Parametern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!