Pour éviter, par exemple, les conflits d'espace de noms, je veux importer un module en QML en utilisant un qualificateur :
import <ModuleIdentifier> <Version.Number> [as <Qualifier>]
donc dans mon cas j'utilise :
import com.myorg.models 1.0 as Model
Dans cette importation, j'ai un type nommé "User". Je veux ensuite l'utiliser comme une propriété de type "User" dans un fichier QML.
//User.qml
import QtQuick 2.8
import com.myorg.model 1.0 as Model
Item {
property Model.User user //This does not work
property var user: Model.User {} //This does work, but if possible I want to avoid 'var'.
property User user //This works, if I remove the qualified name in the import statement.
}
Ainsi, sans le qualificatif 'Model' dans la déclaration d'importation, je peux utiliser 'User' comme type dans la propriété, mais dès que vous utilisez un qualificatif, vous ne pouvez pas. Cela me semble étrange. Y a-t-il une bonne raison à cela ou est-ce simplement non pris en charge ?
Personnellement, j'aimerais pouvoir le faire :
property Model.User user
tout comme je peux le faire en n'utilisant aucun qualificatif :
property User user