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, andqmlprojectexporter
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.