在 Qt 中,可以透過將 C 訊號連接到 QML 插槽來實現 C 和 QML 之間的通訊。雖然發送原始類型參數可以無縫工作,但發送具有 QString 等複雜類型的訊號可能會導致錯誤。
要將攜帶 QString 的訊號連接到 QML 插槽,標準使用 QObject::connect() 的物件到物件連接方法可能還不夠。相反,利用 Qt 的 Connections 建立連結。
過程:
<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>
這會在finishGatheringDataForItem 之間建立連線C 中的signal 和QML 中的onFinishedGatheringDataForItem 處理程序,ForishedGatheringDataFor Item允許您有效地處理QString 參數。
以上是如何將帶有 QString 參數的 C 訊號連接到 QML 插槽?的詳細內容。更多資訊請關注PHP中文網其他相關文章!