C
InterfaceFiles.fileSelector
A list of strings, specifies which variants to use when picking header files.
Description
You can use the fileSelector property when the project has many files with the same name and purpose, but its contents vary depending on the selected device characteristics (screen size, platform, languages etc.), and the project uses each file for a specific set of characteristics.
qmlprojectexporter
uses 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 below, qmlprojectexporter
gets the selector's value following the same order
- In files nodes (QmlFiles, ImageFiles, FontFiles ModuleFiles and TranslationFiles) through the "fileSelector" property
- In the 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 folder 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
This property is accepted in the main application .qmlproject
file, or a module .qmlproject
file. It takes a list of non-empty strings.
Code example:
// Project files: // src/headers/+ram_optimized/myoperation.h // src/headers/+cpu_optimized/myoperation.h // Picks src/headers/+ram_optimized/myoperation.h InterfaceFiles { fileSelector: ["ram_optimized"] files: ["src/headers/myoperation.h"] }
Since
This property was introduced in QmlProject API 1.3 .
Available under certain Qt licenses.
Find out more.