将 C 信号连接到 QML 插槽
问题:
尝试发送 QString 时从 C 信号到 QML 槽的参数,会出现错误,指出“没有这样的槽QDeclarativeRectangle_QML_2::updateViewWithItem(QString)."
解决方案:
使用连接
要解决此问题,连接应该被使用而不是直接槽
将 C 对象暴露给 QML:
使用主 C 中的 setContextProperty() 将 C 对象 (myObj) 添加到 QML 上下文属性代码。
<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中文网其他相关文章!