Inclure un autre fichier QML d'un fichier QML
Il y a une autre question sur Stackoverflow à propos de cette question mais je ne trouve pas la solution retenue possible. Alors je vous le demande à nouveau, car la vieille question de l'attention.
La situation de cette façon. J'ai des écrans d'application défini par la principale.qml', 'feature1.qml', 'feature2.qml'.
Ces écrans partagent la même barre d'outils en dessous de la barre de titre. La barre d'outils a plusieurs éléments afin de copier-coller le code QML est comme un fou. Cette question: QML dossier ou d'un fichier monolithique (structure de code QML)? affirme qu'il est possible d'utiliser QML nom de fichier comme nom de composant mais je ne peux pas le faire fonctionner.
Toute solution? avec des détails pls.
source d'informationauteur jondinham | 2014-03-04
Vous devez vous connecter pour publier un commentaire.
Supposons que vous avez un fichier appelé
main.qml
et un élément en un autre fichier appeléMyCustomText.qml
. Si les deux fichiers sont dans le même répertoire, vous pouvez charger directement le composant comme ceci:Si
MyCustomText.qml
est dans un autre sous-répertoireMyComponents
par exemple pour regrouper tous les éléments ensemble, vous devez d'abordimport
le répertoire avant d'utiliser le composant de la même façon:Une autre chose importante à noter est que votre
QML
fichiers doivent toujours commencer par une lettre majuscule si vous voulez être en mesure de les utiliser de cette façonBien sûr votre
Loader
solution fonctionne aussi, mais c'est la façon la plus simple pour importer des fichiers QML dans d'autres composants.Enfin, j'ai creusé, à partir de l'internet. Disons-le d'être inclus fichier est 'moncomposant.qml " dans cette structure de répertoire (Qt Quick):
Le contenu de 'moncomposant.qml' (par exemple):
Nous devons nous charger de cette façon (en principal.qml'):
Voir la documentation de Qt sur les composants réutilisables.
Importées QML fichier définit un type dont le nom est le même que le nom (en majuscule, moins la .qml suffixe). QML appelle le type d'une réutilisables composant. Utilisez-vous ce type de nom pour instancier un objet dans l'importation de QML document (fichier.)
Ses pas comme un C du langage, où le texte du fichier inclus est inséré dans le dossier incluant. Son plus comme l'importation le nom d'une classe en Python, puis de l'instanciation d'un objet de cette classe dans l'importation de fichier. Ou un peu similaire à Javascript, le fichier importé est la création d'un prototype de l'objet et l'importation de fichier est en fait hériter d'elle. À l'exception de la note de la discussion sur l'objet racine et quelles sont les propriétés du composant sera visible (à cause de QML du document de cadrage.) Vous ne serez pas en mesure d'accéder à tout dans le fichier importé comme si c'était un C, un Python d'importation, ou un JS héritage.