Bagaimana untuk Menyambung Isyarat C dengan Parameter QString ke Slot QML?

Barbara Streisand
Lepaskan: 2024-11-03 09:25:03
asal
985 orang telah melayarinya

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

Menyambung Isyarat C ke Slot QML

Dalam Qt, komunikasi antara C dan QML boleh dicapai dengan menyambungkan isyarat C ke slot QML. Semasa menghantar parameter jenis primitif berfungsi dengan lancar, menghantar isyarat dengan jenis kompleks seperti QString boleh mengakibatkan ralat.

Menyambung dengan Parameter QString

Untuk menyambung isyarat yang membawa QString ke slot QML, standard kaedah sambungan objek-ke-objek menggunakan QObject::connect() mungkin tidak mencukupi. Sebaliknya, gunakan Sambungan Qt untuk mewujudkan pautan.

Prosedur:

  1. Dedahkan Objek C dalam QML: Tambahkan objek C anda pada fail QML menggunakan setContextProperty.
<code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
Salin selepas log masuk
  1. Tentukan Isyarat: Isyarat C anda kini akan kelihatan seperti ini:
<code class="cpp">finishedGatheringDataForItem(QString signalString)</code>
Salin selepas log masuk
  1. Tambah Sambungan dalam QML: Wujudkan sambungan dalam fail QML:
<code class="qml">Connections {
    target: YourObject
    onFinishedGatheringDataForItem: {
        qmlString = signalString
    }
}</code>
Salin selepas log masuk

Ini akan mewujudkan sambungan antara GatheringDataForItem yang telah siap isyarat dalam C dan pengendali onFinishedGatheringDataForItem dalam QML, membolehkan anda mengendalikan parameter QString dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung Isyarat C dengan Parameter QString ke Slot QML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan