IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

L'afficheur QML (QML Viewer)

Le module des interfaces d�claratives contient Qt QML Viewer, l'afficheur QML, un outil pour charger des documents QML permettant de d�velopper et d�boguer des applications QML facilement. Il appelle le moteur d'ex�cution QML pour charger les documents QML et fournit aussi des fonctionnalit�s additionnelles utiles pour le d�veloppement d'applications bas�es sur QML.

QML Viewer est un outil pour tester et d�velopper des applications QML. Il n'est pas pr�vu pour fonctionner dans un environnement de production et ne doit pas �tre utilis� pour le d�ploiement d'applications QML. Dans ces cas, le moteur d'ex�cution QML devra �tre appel� � partir d'une application Qt ; voir le moteur d'ex�cution des interfaces d�claratives Qt pour plus d'information.

L'ex�cutable est situ� dans le dossier QTDIR/bin et s'appelle qmlviewer. Pour charger un fichier .qml dans l'afficheur, ex�cutez-le et s�lectionnez un fichier � ouvrir, ou fournissez le chemin au fichier en ligne de commande comme ceci :

 qmlviewer myqmlfile.qml

Sous Mac OS X, l'application QML Viewer a un nom diff�rent, elle s'appelle « QMLViewer ». Vous pouvez lancer l'afficheur en ouvrant l'application QMLViewer � partir du « Finder » ou depuis la ligne de commande, comme ceci :

 QMLViewer.app/Contents/MacOS/QMLViewer myqmlfile.qml

L'afficheur QML poss�de de nombreuses options de configuration concernant des fonctionnalit�s comme l'affichage plein �cran, la configuration de chemin d'importation de modules, l'enregistrement vid�o des animations QML, et le support d'OpenGL.

Pour conna�tre les options de configuration, ex�cutez qmlviewer avec l'argument -help.

Ajouter des chemins d'importation de modules

Des chemins d'importation de modules suppl�mentaires peuvent �tre fournis en utilisant l'indicateur -I. Par exemple, l'exemple de plug-ins QML cr�e un plug-in C++ identifi� comme com.nokia.TimeExample. Comme son identificateur utilise un espace de noms, l'afficheur doit �tre ex�cut� avec l'indicateur -I � partir du dossier de base de l'exemple :

 qmlviewer -I . plugins.qml

Cela permet d'ajouter le dossier aux chemins d'importation permettant � l'afficheur de trouver le plug-in dans le dossier com/nokia/TimeExample.

Notez que, par d�faut, le dossier courant est inclus dans les chemins d'importation, mais que les modules utilisant un espace de noms comme com.nokia.TimeExample ne seront pas localis�s tant que le chemin ne sera pas sp�cifi� explicitement.

Chargement de fichiers de traduction

Lorsque l'afficheur QML charge un fichier QML, il installe le fichier de traduction � partir du sous-dossier « i18n » relatif au fichier initial. Le dossier doit contenir un fichier de traduction nomm� « qml_<langue>.qm », o� <langue> est une langue ISO 639 sur deux lettres, comme « qml_fr.qm », optionnellement suivi par un tiret bas et un code de pays ISO 3166 en majuscules, tel que « qml_fr_FR.qm » ou « qml_fr_CA.qm ».

Ces fichiers peuvent �tre cr��s avec Qt Linguist.

Le fichier de traduction effectivement charg� d�pend de la langue locale du syst�me. De plus, l'afficheur va charger tout fichiers de traduction sp�cifi�s via la ligne de commande avec l'option -translation.

Voir l'exemple i18n en QML pour un exemple. La documentation internationalisation dans Qt montre �galement la mani�re dont on peut faire utiliser des cha�nes traduisibles � du code JavaScript dans des fichiers QML.

Chargement de donn�es de remplacement avec QML Viewer

Souvent, les prototypes d'applications QML sont r�alis�s avec des donn�es factices qui seront, plus tard, remplac�es par les donn�es r�elles venant des plug-ins C++. QML Viewer vous aide � le faire en chargeant des donn�es factices dans le contexte de l'application : il recherche un dossier nomm� « dummydata » dans le m�me r�pertoire que le fichier QML cible et tous les fichiers .qml de ce dossier sont charg�s comme objets QML et li�s au contexte racine comme propri�t�s nomm�es d'apr�s les fichiers.

Par exemple, ce document QML se r�f�re � la propri�t� lottoNumbers qui n'existe pas r�ellement dans le document :

 import QtQuick 1.0
 
 ListView {
     width: 200; height: 300
     model: lottoNumbers
     delegate: Text { text: number }
 }

Si, dans le dossier du document, il y a un dossier « dummydata » contenant un fichier lottoNumbers.qml qui contient :

 import QtQuick 1.0
 
 ListModel {
     ListElement { number: 23 }
     ListElement { number: 44 }
     ListElement { number: 78 }
 }

Ce mod�le sera alors charg� automatiquement dans la ListView du document pr�c�dent.

Les propri�t�s enfants sont incluses lors du chargement � partir des donn�es factices. Le document suivant se r�f�re � une propri�t� clock.time:

 import QtQuick 1.0
 Text { text: clock.time }

La valeur du texte pouvait �tre remplie par un fichier dummydata/clock.qml ayant une propri�t� time dans le contexte racine :

 import QtQuick 1.0
 QtObject { property int time: 54321 }

Pour remplacer ces donn�es avec les donn�es r�elles, vous pouvez simplement lier l'objet r�el avec le contexte racine en C++ gr�ce � la fonction QDeclarativeContext::setContextProperty(). Ce processus est d�crit dans Utiliser les liaisons QML dans les applications C++.

Utiliser l'objet ''runtime''

Les applications QML qui sont charg�es par l'afficheur QML ont acc�s � une propri�t� runtime sp�ciale dans le contexte racine. La propri�t� fournit des informations suppl�mentaires � propos de l'environnement de l'application � travers les propri�t�s suivantes :

runtime.isActiveWindow

Cette propri�t� indique si la fen�tre de l'afficheur QML est la fen�tre active actuelle du syst�me. Cette information est utile pour mettre en pause une application, particuli�rement ses animations, lorsque le QML Viewer perd le focus ou est d�plac� en arri�re-plan. Par exemple, l'animation suivante n'est jou�e que lorsque la fen�tre de l'afficheur QML est active :

 Rectangle {
     width: 200; height: 200
 
     ColorAnimation on color {
         running: runtime.isActiveWindow
         loops: Animation.Infinite
         from: "green"; to: "blue"; duration: 2000
     }
 }
runtime.orientation

Cette propri�t� indique l'orientation actuelle de l'afficheur QML. Sur les N900 et la plupart des S60 5.0 ainsi que les nouveaux p�riph�riques Symbian, cette propri�t� est automatiquement mise � jour pour correspondre � l'orientation r�elle du p�riph�rique ; sur les autres plateformes, elle indique l'orientation actuellement s�lectionn�e dans le menu Settings -> Properties du QML Viewer. L'orientation peut avoir l'une des valeurs suivantes :

  • Orientation.Portrait (orientation portrait) ;
  • Orientation.Landscape (orientation paysage) ;
  • Orientation.PortraitInverted (orientation portrait invers�e) ;
  • Orientation.LandscapeInverted (orientation paysage invers�e).

Lorsque l'orientation de l'afficheur change, l'apparence du document QML charg� ne change que s'il a �t� programm� pour r�agir au changement de runtime.orientation. Par exemple, le Rectangle suivant change ses proportions selon l'orientation de l'afficheur QML :

 Rectangle {
     id: window
     width: 640; height: 480
 
     states: State {
         name: "landscape"
         PropertyChanges { target: window; width: 480; height: 640 }
     }
     state: (runtime.orientation == Orientation.Landscape
             || runtime.orientation == Orientation.LandscapeInverted) ? 'landscape' : ''
 }

Remerciements

Merci � Alexandre Laurent pour la traduction ainsi qu'� Ilya Diallo, Jonathan Courtois, Thibaut Cuvelier et Claude Leloup pour leur relecture !

Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. Qt 4.7
Copyright © 2025 Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD.
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP !