ブログ

QMLで外部ファイルから変数をインポートする

at_takuya.sasaki
2015年4月12日 20時58分

Armadillo-840+Qt(QML)でデモを作成してる中で、コマンド引数のようにQMLに対して何らかのパラメータを渡せないかを検討してみました。

C++で作成していれば従来のようにコマンド引数でパラメータを受け取ることはできると思いますが、QMLではJavaScriptのファイルを共有できるので、ファイルにパラメータを書き込み、それをQML側で読み込む方法を使ってみました。

1. パラメータファイルを作成

QMLと同じフォルダに、任意の名前 ( paramater.js ) でファイルを作ります

.pragma library
var text = "Hello world"

2. QML側で読み込み

ポイントは import で jsファイルを定義し、あとは変数にアクセスするだけです。 なお、as の後に定義する Param の部分ですが、先頭が大文字である必要があるようです。

import QtQuick 2.0
import "paramater.js" as Param
 
Rectangle {
    width: 800
    height: 480
 
    Text{
        text: Param.text
     }
}

以上