QMLの基礎 - QMLファイルのインクルード

提供:MochiuWiki : SUSE, EC, PCB
2021年10月26日 (火) 04:23時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == 最も簡単な方法 == MyText.qmlファイルにコンポーネントが記述されているとする。<br> <br> MyText.qmlファイルがm…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要



最も簡単な方法

MyText.qmlファイルにコンポーネントが記述されているとする。

MyText.qmlファイルがmain.qmlファイルと同階層にある場合、以下のように記述することにより、コンポーネントを直接読み込むことができる。
この時、読み込まれるQMLファイル名は、大文字で始まる必要がある。

 // MyText.qml
 
 Text {
    text:"Hello, Scooby Doo!";
 }


 // main.qml
 
 Rectangle {
    id: root
 
    MyText {
       text: "This is my custom text element"
    }
 }


MyText.qmlがMyComponentsサブディレクトリに存在する場合、例えば、サブディレクトリに存在する全てのカスタムコンポーネントをグループ化するためには、
まず、MyComponentsサブディレクトリをインポートする必要がある。

上記と同様に、読み込まれるQMLファイル名は、大文字で始まる必要がある。

 // main.qml
 
 import "MyComponents"
 
 Rectangle {
    id: root
 
    MyText {
       text: "This is my custom text element"
    }
 }


Loaderを使用する方法よりも、上記の方法が最も簡単である。

Loaderを使用する方法

例えば、以下のようなプロジェクトディレクトリの構造があるとする。

プロジェクトディレクトリ
↪  qmlディレクトリ
   ↪  main.qml
   ↪  mytext.qml


 // mytext.qml
 
 Text {
    text:"Hello, Scooby Doo!";
 }


この時、main.qmlファイルにおいて、以下のようにmytext.qmlファイルを読み込む必要がある。

 // main.qml
 
 Rectangle {
 
    // ...略
 
    Loader {
       source:"mytext.qml";
    }
 
    // ...略
 }