レガシー・モジュール

レガシーモジュール(Legacy Module)とは、qmldir ファイルに モジュール識別子が記述されていないモジュールのことです。レガシーモジュールは、QMLのインポートパスにインストールされるか(インストー ルされたレガシーモジュールとして)、相対インポートによってインポートされます (ロケーションされたレガシーモジュールとして)。クライアントは可能な限りレガシーモジュールの使用を避けるようにしてください。モジュール開発者は、レガシーモジュールではなく識別されたモジュールを作成するようにしてください。

インストールされたレガシーモジュール

インストールされた非同定モジュールには、QML エンジンから自動的に識別子が与えられます。この暗黙的に定義された識別子は、モジュールのインストールパス(QMLのインポートパスからの相対パス)と等しく、ディレクトリ区切り文字はピリオド文字に置き換えられます。

QMLのインポートパスにインストールされた非識別子モジュールは以下のような 意味を持ちます:

  • 暗黙のモジュール識別子によってクライアントがインポートできる。
  • クライアントはモジュールをインポートする際にバージョンを指定しなければなりません。
  • 競合する型名はQMLエンジンによって任意に解決され、その解決方法は異なるバージョンのQML間で同じであることは保証されません。
  • 他のレガシーモジュールが、インストールされたレガシーモジュールが提供する型定義を変更したり上書きしたりする可能性があります。

ロケーションされたレガシーモジュール

相対ディレクトリパスの import ステートメントでインポートされた非同定モジュールは、 配置されたレガシーモジュールとしてエンジンにロードされます。配置されたレガシー・モジュールには、以下のセマンティクスが適用されます:

  • クライアントが相対インポートパスでインポートできる。
  • クライアントがモジュールをインポートする際にバージョンを指定することは必須ではありません。
  • クライアントがimport文でバージョンを指定しない場合、QMLエンジンは与えられた型名の定義がどのバージョンでインポートされるかを保証しない。
  • 競合する型名はQMLエンジンによって任意に解決され、QMLの異なるバージョン間で競合の解決方法が同じであることは保証されません。
  • 他のレガシーモジュールが、配置されたレガシーモジュールの型定義を変更したり上書きしたりする可能性がある。

配置されたレガシーモジュールは、ローカルのファイルシステム上、またはネットワーク上に存在し、ファイルシステムのパス、またはネットワークの URL を指定した URL で参照することができます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。