Heim > Backend-Entwicklung > C++ > Wie verbinde ich C-Signale mit QML-Slots mit QString-Parametern?

Wie verbinde ich C-Signale mit QML-Slots mit QString-Parametern?

Mary-Kate Olsen
Freigeben: 2024-11-04 02:53:29
Original
500 Leute haben es durchsucht

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

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 .

  1. Definieren Signal:

    Definieren Sie in C das Signal als:

    <code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
    Nach dem Login kopieren
  2. Verbindungen in QML hinzufügen:

    Im QML-Datei, Verbindungen zum exponierten Objekt hinzufügen:

    <code class="cpp">finishedGatheringDataForItem(QString signalString);</code>
    Nach dem Login kopieren
  3. Durch Verwendung Verbindungen kann der QML-Slot den QString-Parameter ohne den vorherigen Fehler korrekt empfangen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage