C 신호를 QML 슬롯에 연결
문제:
QString을 보내려고 할 때 C 신호에서 QML 슬롯으로 매개변수를 전송하면 "해당 슬롯 QDeclarativeRectangle_QML_2::updateViewWithItem(QString)"이라는 오류가 발생합니다.
해결책:
연결 사용
이 문제를 해결하려면 직접 슬롯 연결 대신 연결을 사용해야 합니다.
QML에 C 개체 노출:
메인 C 코드에서 setContextProperty()를 사용하여 QML 컨텍스트 속성에 C 객체(myObj)를 추가합니다.
<code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
신호 정의:
C에서 신호를 다음과 같이 정의합니다.
<code class="cpp">finishedGatheringDataForItem(QString signalString);</code>
QML에 연결 추가:
QML 파일에서 연결을 추가합니다. 노출된 객체에:
<code class="qml">Connections { target: YourObject onFinishedGatheringDataForItem: { qmlString = signalString } }</code>
연결을 사용하면 QML 슬롯이 이전 오류 없이 QString 매개변수를 올바르게 수신할 수 있습니다.
위 내용은 QString 매개변수를 사용하여 C 신호를 QML 슬롯에 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!