このページでは

url QML Value Type

リソースロケータ。詳細...

詳細な説明

url 型は、リソースロケータ(例:ファイル名など)を指します。これは、絶対パス(例:「http://qt-project.org」)または相対パス(例:「pics/logo.png」)のいずれかになります。 相対URLは、それを含むコンポーネントのURLを基準として解決されます。

たとえば、以下のコードは、url 型のImage::source プロパティに有効なURLを割り当てています:

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

C++との統合を行う際、C++からQMLに渡される QUrl 値は自動的にurl 値に変換され、その逆も同様であることに注意してください。

あるいは、url をURLオブジェクトに変換することで、そのコンポーネントにアクセスしたり変更したりすることもできます:

var urlObject = new URL(url);

注: Qt 5では 、url のプロパティに URL を代入する際、現在のコンテキストに基づいて URL が自動的に解決されていました。これにより、相対 URL の使用が不可能となり、以前にプロパティに書き込まれた URL を読み戻す際に一貫性のない動作が発生していました。そのため、Qt 6 ではこの動作が変更され、代入時に URL が自動的に解決されることはなくなりました。 URL を使用する個々の要素は、自ら URL を解決する必要があります。

注: QtQml内からQtリソースシステムで保存されたファイルを参照する場合 、QMLではURLパスが必須であるため、「:/」の代わりに「qrc:///」を使用する必要があります。そのファイル内から解決される相対URLは、同じプロトコルを使用します。

さらに、URLにはRFC 3986で規定された「パーセントエンコーディング」方式を使用したエンコードされた文字が含まれる場合があります。これらの文字は、url 型のプロパティ内で保持され、QMLコードが正確なURL値を構築できるようにします。

たとえば、通常はURLの「フラグメント」要素の先頭として解釈される「#」文字を含むローカルファイルは、ファイル名の文字をエンコードすることでアクセスできます。

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

この値型は、QML言語によって提供されます。

「QMLの値型」も参照してください 。

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