ホームページ  >  記事  >  バックエンド開発  >  QString パラメータを使用して C 信号を QML スロットに接続する方法

QString パラメータを使用して C 信号を QML スロットに接続する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 02:53:29445ブラウズ

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

C 信号を QML スロットに接続する

問題:

QString を送信しようとするときC 信号から QML スロットにパラメータを追加すると、「そのようなスロットはありません」というエラーが発生しますQDeclarativeRectangle_QML_2::updateViewWithItem(QString)."

解決策:

接続の使用

この問題を解決するには、接続は直接スロットの代わりに採用されるconnection.

  1. C オブジェクトを QML に公開する:
    メイン C の setContextProperty() を使用して、C オブジェクト (myObj) を QML コンテキスト プロパティに追加します。 code.

    <code class="cpp">qmlVectorForm->rootContext()->setContextProperty("YourObject", myOb);</code>
  2. 信号の定義:
    C では、信号を次のように定義します:

    <code class="cpp">finishedGatheringDataForItem(QString signalString);</code>
  3. に接続を追加QML:

    QML ファイルで、公開されたオブジェクトに接続を追加します:

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

接続を使用することで、QML スロットは QString パラメーターを受け取ることができます前のエラーなしで正しく実行されました。

以上がQString パラメータを使用して C 信号を QML スロットに接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。