qmlグローバル変数定義の推奨事項

871 ワード

C++からqmlにインポートされたグローバル変数とqml定義変数は混同されているかもしれませんが、次のアドバイスを使用すると、グローバル変数混同の問題を解決できるかもしれません.
 定義qml変数は、JavaScript変数の定義に相当します.JavaScript変数の名前は、アルファベット、_$で始まる必要があります.その他の文字は、アルファベット、_$、数字です.
推奨
 グローバル変数または外部変数は、$修飾変数を使用できます.
  • 設定インポート$message変数をqmlに:
  • ...
    engine.rootContext()->setContextProperty("$message", "hello world!");
    ...
  • qml使用:
  • ...
    Component.onCompleted: console.log($message)
    ...
  • またqmlのグローバル変数(外部変数)もこのように定義できる:
  • /* BaseItem.qml */
    Item {
        property variant $message: "hello world!" 
        ...
    }

    参照qmlのグローバル変数(外部変数)$message:
    BaseItem {
        ...
        Component.onCompleted: console.log($message)    
        ...
    }