Auf dieser Seite

Legacy-Module

Legacy-Module sind Module, deren Spezifikations qmldir -Datei keine Modul-Identifikator-Anweisung enthält. Ein Legacy-Modul kann entweder im QML-Importpfad installiert werden (als installiertes Legacy-Modul) oder von Clients mit einem relativen Import importiert werden (als lokalisiertes Legacy-Modul). Clients wird empfohlen, die Verwendung von Legacy-Modulen nach Möglichkeit zu vermeiden. Modulentwickler sollten sicherstellen, dass sie identifizierte Module und keine Legacy-Module erstellen.

Installierte Legacy-Module

Ein installiertes, nicht identifiziertes Modul erhält automatisch einen Bezeichner von der QML-Engine. Dieser implizit definierte Bezeichner entspricht dem Installationspfad des Moduls (relativ zum QML-Importpfad), wobei Verzeichnis-Trennzeichen durch Punkte ersetzt werden.

Ein nicht identifiziertes Modul, das im QML-Importpfad installiert ist, weist folgende Semantik auf:

  • Es kann von Clients über den impliziten Modulkennzeichner importiert werden
  • Clients müssen beim Importieren des Moduls eine Version angeben
  • Konflikte bei Typnamen werden von der QML-Engine willkürlich aufgelöst, und es kann nicht garantiert werden, dass die Art und Weise der Konfliktlösung über verschiedene QML-Versionen hinweg gleich bleibt
  • andere Legacy-Module können die vom installierten Legacy-Modul bereitgestellten Typdefinitionen ändern oder überschreiben

Lokalisierte Legacy-Module

Ein nicht identifiziertes Modul, das über eine Importanweisung mit relativem Verzeichnispfad importiert wird, wird von der Engine als lokalisiertes Legacy-Modul geladen. Für lokalisierte Legacy-Module gilt folgende Semantik:

  • Es kann von Clients über einen relativen Importpfad importiert werden
  • Clients müssen beim Import des Moduls nicht zwingend eine Version angeben
  • Wenn vom Client in der Importanweisung keine Importversion angegeben wird, gibt die QML-Engine keine Garantie dafür, welche Version der Definition eines bestimmten Typnamens importiert wird
  • Konflikte bei Typnamen werden von der QML-Engine willkürlich aufgelöst, und es kann nicht garantiert werden, dass die Art und Weise der Konfliktlösung zwischen verschiedenen QML-Versionen konsistent bleibt
  • Andere Legacy-Module können die vom gefundenen Legacy-Modul bereitgestellten Typdefinitionen ändern oder überschreiben

Ein gefundenes Legacy-Modul kann sich auf dem lokalen Dateisystem oder im Netzwerk befinden und kann über eine URL referenziert werden, die den Dateisystempfad oder die Netzwerk-URL angibt.

Siehe auch „Modernisierung von QML-Modulen “ und „Portierung von QML-Modulen nach CMake“.

© 2026 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.