Spec-Zone.ru › Qt

Тип QML url

Тип url относится к идентификатору ресурса (например, имени файла). Он может быть абсолютным, например, "http://qt-project.org", или относительным, например, "pics/logo.png". Относительный URL разрешается относительно URL содержащего компонента.

Например, следующее присваивает допустимый URL свойству Image::source, тип которого url:

Image { source: "pics/logo.png" }

При интеграции с C++, обратите внимание, что любое значение QUrl, переданное в QML из C++, автоматически преобразуется в значение url, и наоборот.

В качестве альтернативы, вы можете преобразовать ваш url в объект URL, чтобы получить доступ к его компонентам и изменить их:

var urlObject = new URL(url);

Примечание: В Qt 5 URL автоматически разрешались на основе текущего контекста при их присваивании любому url свойству. Это делало невозможным работу с относительными URL-адресами и создавало несогласованное поведение при повторном чтении URL, ранее записанного в свойство. Поэтому поведение было изменено в Qt 6.

Примечание: При ссылке на файлы, хранящиеся с помощью Системы ресурсов Qt из QML, следует использовать "qrc:///" вместо ":/", поскольку QML требует пути URL. Относительные URL, разрешенные внутри этого файла, будут использовать тот же протокол.

Кроме того, URL могут содержать закодированные символы с использованием схемы "percent-encoding", указанной в RFC 3986. Эти символы будут сохранены в свойствах типа url, чтобы разрешить коду QML создавать точные значения URL.

Например, локальный файл, содержащий символ '#', который обычно интерпретируется как начало элемента URL 'fragment', может быть доступен путем кодирования символов имени файла:

Image { source: encodeURIComponent("/tmp/test#1.png") }

Этот базовый тип предоставляется языком QML.

См. также Основные типы QML.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-url.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API