レガシー・モジュール
レガシーモジュール(Legacy Module)とは、qmldir
ファイルに モジュール識別子が記述されていないモジュールのことです。レガシーモジュールは、QMLのインポートパスにインストールされるか(インストー ルされたレガシーモジュールとして)、相対インポートでインポートされます(ロケーション されたレガシーモジュールとして)。クライアントは可能な限りレガシーモジュールの使用を避けるようにしてください。モジュール開発者は、レガシーモジュールではなく識別されたモジュールを作成するようにしてください。
インストールされたレガシーモジュール
インストールされた非同定モジュールには、QML エンジンから自動的に識別子が与えられます。この暗黙的に定義された識別子は、モジュールのインストールパス(QMLのインポートパスからの相対パス)と等しく、ディレクトリ区切り文字はピリオド文字に置き換えられます。
QMLのインポートパスにインストールされた非識別子モジュールは以下のような 意味を持ちます:
- 暗黙のモジュール識別子によってクライアントがインポートできる。
- クライアントはモジュールをインポートする際にバージョンを指定しなければなりません。
- 衝突した型名はQMLエンジンによって任意に解決され、その解決方法は異なるバージョンのQML間で同じであることは保証されません。
- 他のレガシーモジュールが、インストールされたレガシーモジュールが提供する型定義を変更したり上書きしたりする可能性があります。
ロケーションされたレガシーモジュール
相対ディレクトリパスの import ステートメントでインポートされた非同定モジュールは、 配置されたレガシーモジュールとしてエンジンにロードされます。配置されたレガシー・モジュールには、以下のセマンティクスが適用されます:
- クライアントが相対インポートパスでインポートできる。
- クライアントがモジュールをインポートする際にバージョンを指定することは必須ではありません。
- クライアントがimport文でバージョンを指定しない場合、QMLエンジンは与えられた型名の定義がどのバージョンでインポートされるかを保証しない。
- 競合する型名はQMLエンジンによって任意に解決され、QMLの異なるバージョン間で競合の解決方法が同じであることは保証されません。
- 他のレガシーモジュールが、配置されたレガシーモジュールの型定義を変更したり上書きしたりする可能性がある。
配置されたレガシーモジュールは、ローカルファイルシステム上、またはネットワーク上に存在し、ファイルシステムのパスやネットワークのURLを指定したURLで参照することができます。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.