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

Mary-Kate Olsen
Lepaskan: 2024-11-04 02:53:29
asal
445 orang telah melayarinya

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

Menyambungkan Isyarat C ke Slot QML

Isu:

Apabila cuba menghantar QString parameter daripada isyarat C ke slot QML, ralat berlaku menyatakan, "Tiada slot sedemikian QDeclarativeRectangle_QML_2::updateViewWithItem(QString)."

Penyelesaian:

Menggunakan Sambungan

Untuk menyelesaikan isu ini, sambungan hendaklah digunakan dan bukannya sambungan slot terus.

  1. Dedahkan Objek C kepada QML:
    Tambahkan objek C (myObj) pada sifat konteks QML menggunakan setContextProperty() dalam kod C utama.

    <code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
    Salin selepas log masuk
  2. Tentukan Isyarat:
    Dalam C , takrifkan isyarat sebagai:

    <code class="cpp">finishedGatheringDataForItem(QString signalString);</code>
    Salin selepas log masuk
  3. Tambah Sambungan dalam QML:

    Dalam fail QML, tambah sambungan kepada objek terdedah:

    <code class="qml">Connections {
        target: YourObject
        onFinishedGatheringDataForItem: {
            qmlString = signalString
        }
    }</code>
    Salin selepas log masuk

Dengan menggunakan sambungan, slot QML boleh menerima parameter QString dengan betul tanpa ralat sebelumnya.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung Isyarat C ke Slot QML dengan Parameter QString?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!