url QML Value Type
einen Ressourcen-Locator. Mehr...
Detaillierte Beschreibung
Der Typ url
bezieht sich auf einen Ressourcen-Locator (z. B. einen Dateinamen). Er kann entweder absolut sein, z. B. "http://qt-project.org", oder relativ, z. B. "pics/logo.png". Eine relative URL wird relativ zur URL der enthaltenen Komponente aufgelöst.
Im Folgenden wird zum Beispiel der Eigenschaft Image::source eine gültige URL zugewiesen, die vom Typ url
ist:
Image { source: "pics/logo.png" }
Bei der Integration mit C++ ist zu beachten, dass jeder QUrl -Wert, der von C++ an QML übergeben wird, automatisch in einen url
-Wert umgewandelt wird und umgekehrt.
Alternativ können Sie Ihr url
in ein URL-Objekt umwandeln, um auf seine Komponenten zuzugreifen und sie zu verändern:
var urlObject = new URL(url);
Hinweis: In Qt 5 wurden URLs automatisch basierend auf dem aktuellen Kontext aufgelöst, wenn sie einer beliebigen url
Eigenschaft zugewiesen wurden. Dies machte es unmöglich, mit relativen URLs zu arbeiten und führte zu einem inkonsistenten Verhalten beim Zurücklesen einer URL, die zuvor in eine Eigenschaft geschrieben wurde. Daher wurde das Verhalten in Qt 6 geändert: URLs werden bei der Zuweisung nicht mehr automatisch aufgelöst. Die einzelnen Elemente, die URLs verwenden, müssen diese selbst auflösen.
Hinweis: Wenn Sie aus QML heraus auf Dateien verweisen, die im Qt Resource System gespeichert sind, sollten Sie "qrc:///" anstelle von ":/" verwenden, da QML URL-Pfade benötigt. Relative URLs, die von dieser Datei aus aufgelöst werden, verwenden das gleiche Protokoll.
Darüber hinaus können URLs kodierte Zeichen enthalten, die das in RFC 3986 spezifizierte "percent-encoding"-Schema verwenden. Diese Zeichen werden in Eigenschaften des Typs url
beibehalten, damit der QML-Code präzise URL-Werte konstruieren kann.
Beispielsweise kann auf eine lokale Datei, die ein "#"-Zeichen enthält, das normalerweise als Anfang des URL-"Fragment"-Elements interpretiert würde, durch Kodierung der Zeichen des Dateinamens zugegriffen werden:
Image { source: encodeURIComponent("/tmp/test#1.png") }
Dieser Wertetyp wird von der QML-Sprache bereitgestellt.
Siehe auch QML-Wertetypen.
© 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.