C

QmlFiles.fileSelector

A list of strings, specifies which variants to use when picking qml files.

Description

You can use the fileSelector property when the project has many files with the same name and purpose, but its contents varies depending on the selected device characteristics screen size, platform, languages ...ext, and the project use each file for a specific set of characteristics.

qmlprojectexporter use it to keep the reference to the file the same across all variants.

In a qmlproject, you can set this property at different levels as listed bellow, qmlprojectexporter get the selectors value following the same order

  • In files nodes (QmlFiles, ImageFiles, FontFiles ModuleFiles and TranslationFiles) through the "fileSelector" property
  • in MCU.Config node using "fileSelector" property, this will apply to all the nodes in the file that does not have "fileSelector" defined.
  • Using the qmlprojectexporter --selector option, you can use this to configure the whole project, and qmlprojectexporter applies the selectors to all .qmlproject files used in the project (main file and the imported modules)
  • Lastly qmlprojectexporter can use default QFileSelector selectors in the project.

Note: The possible selector values depend only on folders names in the project (QFileSelector considers folders that start with + to be a selectable variant)

Note: It is possible to chain selectors "project/+selector_one/+selector_two/resource.png"

Warning: You should place selectors at the end of the resource path. QFileSelector will ignore any selector in the middle and will only consider them as a normal folder, for example "project/+wrong_selector/normal_folder/+correct_selector1/+correct_selector2/resource.png"

Usage

// Project files: 2 screens with different UI
//      src/qmls/+large_screen/Welcome.qml
//      src/qmls/+small_screen/Welcome.qml

//Picks src/qmls/+large_screen/Welcome.qml
QmlFiles {
    fileSelector: ["large_screen"]
    files: ["src/qmls/Welcome.qml"]
}

Since

This property was introduced in QmlProject API 1.3 .

Available under certain Qt licenses.
Find out more.