QQmlFileSelector Class
QMLファイルの読み込みにQFileSelector を適用するためのクラス。詳細...
| ヘッダー: | #include <QQmlFileSelector> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake: | QT += qml |
| 継承元: | QObject |
パブリック関数
| QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr) | |
| virtual | ~QQmlFileSelector() override |
| QFileSelector * | selector() const |
| void | setExtraSelectors(const QStringList &strings) |
| void | setSelector(QFileSelector *selector) |
詳細な説明
QQmlFileSelectorは、QMLファイルおよびアセットのパスに対してQFileSelector を自動的に適用します。
使用方法は以下の通りです:
QQmlEngine engine;
QQmlFileSelector* selector = new QQmlFileSelector(&engine);これにより、次のようにファイルを置き換えることができます:
main.qml
Component.qml
asset.png
+unix/Component.qml
+mac/asset.pngこの例では、main.qmlは通常、Component型に対してComponent.qmlを使用します。しかし、Unixプラットフォームではunixセレクタが存在するため、代わりに+unix/Component.qmlのバージョンが使用されます。 これは、Component.qmlを+unix/Component.qmlに置き換えるのと同じ動作をするため、Component.qmlを使用する場合、どのバージョンが選択されたかに基づいてパスを変更する必要はありません。
たとえば、「asset.png」というファイルパスを渡す場合、main.qml、Component.qml、および +linux/Component.qml のすべてで、単に「asset.png」として参照すればよいです。 いずれの場合も、Mac プラットフォームでは +mac/asset.png に置き換えられます。
利用可能なセレクタの一覧については、QFileSelector を参照してください。
お使いのプラットフォームでは、追加のセレクタが提供されている場合もあります。QFileSelector で規定されているように、選択に使用するディレクトリ名は「+」文字で始まる必要があります。そのため、プロジェクト内にそのような名前のディレクトリがない限り、誤ってこの機能が作動することはありません。
エンジンに新しい QQmlFileSelector が設定されると、古いものは置き換えられます。
メンバ関数のドキュメント
[explicit] QQmlFileSelector::QQmlFileSelector(QQmlEngine *engine, QObject *parent = nullptr)
親オブジェクトparent を持つ新しいQQmlFileSelectorを作成します。このQQmlFileSelectorには、独自のQFileSelector が含まれます。engine は、ファイルセレクタを適用したいQQmlEngine です。また、このQQmlFileSelectorの所有権も引き継ぎます。
[override virtual noexcept] QQmlFileSelector::~QQmlFileSelector()
QQmlFileSelector オブジェクトを破棄します。
[noexcept] QFileSelector *QQmlFileSelector::selector() const
QQmlFileSelector で使用されるQFileSelector インスタンスを返します。
「setSelector()」も参照してください 。
void QQmlFileSelector::setExtraSelectors(const QStringList &strings)
strings に含まれる追加のセレクタを、現在使用中のQFileSelector に追加します。独自のQFileSelector インスタンスを作成する必要がない場合、追加のセレクタのみが必要なときにこれを使用してください。
void QQmlFileSelector::setSelector(QFileSelector *selector)
QQmlFileSelector が使用するQFileSelector インスタンスをselector に設定します。QQmlFileSelector は、新しいQFileSelector の所有権を取得しません。QQmlFileSelector をリセットして、その内部のQFileSelector インスタンスを使用するには、setSelector(nullptr)を呼び出してください。
selector()も参照してください 。
© 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.