<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Découvrons DotNet sur différentes plateformes &#187; Qml</title>
	<atom:link href="https://blog.developpez.com/insideqt/pcategory/qml/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/insideqt</link>
	<description></description>
	<lastBuildDate>Sun, 28 Dec 2014 15:50:37 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>QML Cursor</title>
		<link>https://blog.developpez.com/insideqt/p9711/qml/qml_cursor</link>
		<comments>https://blog.developpez.com/insideqt/p9711/qml/qml_cursor#comments</comments>
		<pubDate>Wed, 26 Jan 2011 09:45:26 +0000</pubDate>
		<dc:creator><![CDATA[Aktaour]]></dc:creator>
				<category><![CDATA[Qml]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Un petit billet pour vous montrer comment changer le curseur de la souris lors du survole d’un bouton dans une application Qt mixte C++/QML. Il n’existe apparemment pas de fonction QML pour changer le curseur de l’application, je vous propose donc de le faire manuellement. Résultat : Bibliothèque C++ : Je crée une classe de bibliothèque nommé Biblio. Dans cette classe, je crée une méthode AfficheCurseur qui récupère le nom du curseur et qui affiche [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Un petit billet pour vous montrer comment changer le curseur de la souris lors du survole  d’un bouton dans une application Qt mixte C++/QML.</p>
<p>Il n’existe apparemment pas de fonction QML pour changer le curseur de l’application, je vous propose donc de le faire manuellement.</p>
<p><b>Résultat :</b><br />
<img src="http://blog.developpez.com/media/Fenetre.png" width="244" height="96" alt="" /></p>
<p><span id="more-4"></span></p>
<p>Bibliothèque C++ :</p>
<p>Je crée une classe de bibliothèque nommé Biblio.<br />
Dans cette classe, je crée une méthode AfficheCurseur qui récupère le nom du curseur et qui affiche le curseur correspondant.</p>
<p><b>Biblio.h</b></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#ifndef BIBLIO_H <br />
#define BIBLIO_H <br />
#include &lt;QObject&gt; <br />
#include &lt;qdeclarative.h&gt; <br />
&nbsp;<br />
class Biblio : public QObject <br />
{ <br />
&nbsp; &nbsp; Q_OBJECT <br />
public: <br />
&nbsp; &nbsp; explicit Biblio(QObject *parent = 0); <br />
&nbsp; &nbsp; Q_INVOKABLE void AfficheCurseur(QString); <br />
signals: <br />
public slots: <br />
&nbsp;<br />
}; <br />
#endif // BIBLIO_H</div></div>
<p><b>Biblio.cpp</b></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#include &quot;biblio.h&quot; <br />
#include &lt;QtGui/QApplication&gt; <br />
#include &lt;QCursor&gt; <br />
&nbsp;<br />
Biblio::Biblio(QObject *parent) : <br />
&nbsp; &nbsp; QObject(parent) <br />
{ <br />
} <br />
void Biblio::AfficheCurseur(QString typeCurseur) <br />
{ <br />
&nbsp; &nbsp; QCursor curseur; <br />
&nbsp; &nbsp; if(typeCurseur.toUpper() == &quot;HAND&quot;) <br />
&nbsp; &nbsp; &nbsp; &nbsp; curseur = QCursor(Qt::PointingHandCursor); <br />
&nbsp; &nbsp; else <br />
&nbsp; &nbsp; &nbsp; &nbsp; curseur = QCursor(Qt::ArrowCursor); <br />
&nbsp; &nbsp; QApplication::setOverrideCursor(curseur); <br />
}</div></div>
<p><b>Connexion C++ vers QML :</b></p>
<p>Pour rendre accessible la méthode AfficheCurseur en QML, il faut référencer un objet Biblio dans l’objet QDeclarativeView.</p>
<p>Dans le fichier MainWindow.h, je crée mon objet Biblio.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">private: <br />
&nbsp; &nbsp; QDeclarativeView *ui; <br />
&nbsp; &nbsp; Biblio biblio;</div></div>
<p>Dans le fichier MainWindow.cpp j’ajoute la référence de mon objet Biblio sur le contexte du <b>QDeclarativeView</b>.<br />
Dans mon code QML, il sera appelable par le nom  donné dans la méthode <b>setContextProperty</b></p>
<p><code class="codecolorer text default"><span class="text">ui-&gt;rootContext()-&gt;setContextProperty(&quot;Biblio&quot;, &amp;biblio);</span></code></p>
<p><b>Création du composant Bouton :</b></p>
<p>Je m’appuie sur les boutons de l’exemple fourni dans Qt sdk 4.7 disponible à cette adresse<br />
<a href="http://doc.qt.nokia.com/4.7/demos-declarative-calculator.html"> </a></p>
<p>Je crée un fichier QML nommé Bouton.qml.<br />
Dans ce bouton, je crée une surface de capture d’événement de la souris MouseArea. Sur cette surface, je me connecte au signal onEntered et onExited qui respectivement capture l’entrée et la sortie du la souris sur la surface d’exposition.<br />
Attention, la propriété hoverEnabled doit être active, sinon l’événement est appelé uniquement lors du clique de la souris.</p>
<p>Sur ces signaux, j’appelle la fonction AfficheCurseur de mon objet Biblio.</p>
<p>Ce qui donne :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">import Qt 4.7 <br />
BorderImage { <br />
&nbsp; &nbsp; &nbsp;id: button <br />
&nbsp; &nbsp; &nbsp;property alias text: buttonText.text <br />
&nbsp; &nbsp; &nbsp;property alias font: buttonText.font <br />
&nbsp; &nbsp; &nbsp;property string color: &quot;&quot; <br />
&nbsp; &nbsp; &nbsp;property string hint: &quot;&quot; <br />
&nbsp; &nbsp; &nbsp;property int bordure: 8; <br />
&nbsp; &nbsp; &nbsp;property int tag: 0; <br />
&nbsp; &nbsp; &nbsp;signal boutonClick(int idBouton) <br />
&nbsp; &nbsp; &nbsp;source: &quot;images/button-&quot; + color + &quot;.png&quot;; clip: true <br />
&nbsp; &nbsp; &nbsp;border { left: 10; top: 10; right: 10; bottom: 10 } <br />
&nbsp; &nbsp; &nbsp;width: buttonText.width + bordure*2; <br />
&nbsp; &nbsp; &nbsp;Rectangle { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id: shade <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;anchors.fill: button; radius: 10; color: &quot;black&quot;; opacity: 0 <br />
&nbsp; &nbsp; &nbsp;} <br />
&nbsp; &nbsp; &nbsp;Text { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id: buttonText <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;anchors.centerIn: parent; anchors.verticalCenterOffset: -1 <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;font.pixelSize: 20; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;style: Text.Sunken; color: &quot;white&quot;; styleColor: &quot;black&quot;; smooth: true <br />
&nbsp; &nbsp; &nbsp;} <br />
&nbsp; &nbsp; &nbsp;MouseArea { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id: mouseArea <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;anchors.fill: parent <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hoverEnabled: true <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;onClicked: { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;button.boutonClick(button.tag) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;onEntered: { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Biblio.AfficheCurseur(&quot;hand&quot;) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;onExited: { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Biblio.AfficheCurseur(&quot;none&quot;) <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} <br />
&nbsp; &nbsp; &nbsp;} <br />
&nbsp; &nbsp; &nbsp;states: State { <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;name: &quot;pressed&quot;; when: mouseArea.pressed == true <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PropertyChanges { target: shade; opacity: .4 } <br />
&nbsp; &nbsp; &nbsp;} <br />
&nbsp;}</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation Qt / Qt Creator / Qt Quick</title>
		<link>https://blog.developpez.com/insideqt/p9693/qml/installation_qt_qt_creator_qt_quick</link>
		<comments>https://blog.developpez.com/insideqt/p9693/qml/installation_qt_qt_creator_qt_quick#comments</comments>
		<pubDate>Fri, 21 Jan 2011 09:31:21 +0000</pubDate>
		<dc:creator><![CDATA[Aktaour]]></dc:creator>
				<category><![CDATA[Qml]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Le but de ce billet est de présenter l’installation de Qt, Qt creator et Qt Quick sur un environnement Windows XP. Mes Pré requis : Plateforme Windows Xp Installation de Qt SDK: Complete Development Environment 4.7.0 à partir de cette adresse : http://qt.nokia.com/downloads Doc d’installation Qt windows : http://doc.qt.nokia.com/latest/install-win.html Installation : J’installe Qt 4.7.0 dans le répertoire C:\Qt\2010.05 puis je renseigne la variable d’environnement %PATH%= … ; C:\Qt\2010.05\bin;C:\Qt\2010.05\qt\bin Je lance Qt Creator et j’obtiens ce [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Le but de ce billet est de présenter l’installation de Qt, Qt creator et Qt Quick sur un environnement Windows XP.</p>
<p><b>Mes Pré requis :</b></p>
<ul>
<li>Plateforme Windows Xp</li>
<li>Installation de Qt SDK: Complete Development Environment 4.7.0 à partir de cette adresse : <a href="http://qt.nokia.com/downloads">http://qt.nokia.com/downloads</a></li>
<li>Doc d’installation Qt windows : <a href="http://doc.qt.nokia.com/latest/install-win.html">http://doc.qt.nokia.com/latest/install-win.html</a></li>
</ul>
<p><b>Installation :</b></p>
<p>J’installe Qt 4.7.0 dans le répertoire C:\Qt\2010.05 puis je renseigne la variable d’environnement %PATH%= … ; C:\Qt\2010.05\bin;C:\Qt\2010.05\qt\bin</p>
<p><span id="more-2"></span></p>
<p>Je lance Qt Creator et j’obtiens ce résultat.<br />
<img src="http://blog.developpez.com/media/QtCreator.png" width="800" height="625" alt="" /></p>
<p>Pour activer le designer de fenêtre QML, il faut activer le plugin dans QtCreator.<br />
Aller dans le menu « Aide/A propos des plugins » et dans la fenêtre « Plugins installés » il faut tout activer dans le sous menu « Qt Quick ».</p>
<p><img src="http://blog.developpez.com/media/pluginconf.png" width="658" height="427" alt="" /></p>
<p><b>Premier projet :</b></p>
<p>Pour tester la configuration, je crée un projet via la menu « Fichier/Nouveau Fichier ou projet » et sélectionner le type de projet « QML Application ».</p>
<p><img src="http://blog.developpez.com/media/NouvProjet.png" width="562" height="477" alt="" /></p>
<p>Je nomme le projet « InstallQml » et Qt Creator crée le projet.</p>
<p><b>Le code Qml ressemble à ceci :</b></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">import Qt 4.7 <br />
Rectangle { <br />
&nbsp; &nbsp; width: 200 <br />
&nbsp; &nbsp; height: 200 <br />
&nbsp; &nbsp; Text { <br />
&nbsp; &nbsp; &nbsp; &nbsp; x: 66 <br />
&nbsp; &nbsp; &nbsp; &nbsp; y: 93 <br />
&nbsp; &nbsp; &nbsp; &nbsp; text: &quot;Hello World&quot; <br />
&nbsp; &nbsp; } <br />
}</div></div>
<p>Si je clique sur le menu de gauche Design, j’obtiens le rendu de mon application :<br />
<img src="http://blog.developpez.com/media/DesignQml.png" width="800" height="625" alt="" /></p>
<p>Tout à l’air de bien fonctionner <img src="https://blog.developpez.com/insideqt/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Edit: Ajout du chemin C:\Qt\2010.05\qt\bin dans la variable d&rsquo;environnement</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Traduction interface QML</title>
		<link>https://blog.developpez.com/insideqt/p9696/qml/traduction_interface_qml</link>
		<comments>https://blog.developpez.com/insideqt/p9696/qml/traduction_interface_qml#comments</comments>
		<pubDate>Fri, 21 Jan 2011 15:08:50 +0000</pubDate>
		<dc:creator><![CDATA[Aktaour]]></dc:creator>
				<category><![CDATA[Qml]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Le but de ce billet est de tester l’internationalisation des applications QML. Je m’appuie sur la documentation Qt « QML Internationalization » disponible sur ce lien http://doc.qt.nokia.com/4.7-snapshot/qdeclarativei18n.html. Mot clés : L’internationalisation d’une application classique Qt passe par l’utilisation de la balise tr(). Exemple : tr(&#171;&#160;bonjour&#160;&#187;). En QML, le mot clé &#171;&#160;tr&#160;&#187; a été remplacé par &#171;&#160;qsTr&#171;&#160;. Exemple : qsTr(&#171;&#160;bonjour&#160;&#187;). Le mot clé « qsTr » peut être remplacé d’après la documentation par &#171;&#160;qsTranslate&#171;&#160;, &#171;&#160;QT_TR_NOOP&#160;&#187; et [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Le but de ce billet est de tester l’internationalisation des applications QML.</p>
<p>Je m’appuie sur la documentation Qt « QML Internationalization » disponible sur ce lien http://doc.qt.nokia.com/4.7-snapshot/qdeclarativei18n.html.</p>
<p><b>Mot clés :</b></p>
<p>L’internationalisation d’une application classique Qt passe par l’utilisation de la balise tr().<br />
Exemple : tr(&laquo;&nbsp;bonjour&nbsp;&raquo;).</p>
<p>En QML, le mot clé &laquo;&nbsp;<b>tr</b>&nbsp;&raquo; a été remplacé par &laquo;&nbsp;<b>qsTr</b>&laquo;&nbsp;.<br />
Exemple : qsTr(&laquo;&nbsp;bonjour&nbsp;&raquo;).</p>
<p>Le mot clé « qsTr » peut être remplacé d’après la documentation par &laquo;&nbsp;<b>qsTranslate</b>&laquo;&nbsp;,  &laquo;&nbsp;<b>QT_TR_NOOP</b>&nbsp;&raquo; et &laquo;&nbsp;<b>QT_TRANSLATE_NOOP</b>&laquo;&nbsp;.</p>
<p>Dans le code C++, j’utiliserai toujours le mot clé « tr » et dans mes fichiers QML, j’utiliserai le mot clef &laquo;&nbsp;qsTr&nbsp;&raquo;.</p>
<p><span id="more-3"></span></p>
<p><b>Tests :</b><br />
Je crée un projet de type QML Application.</p>
<p>Le fichier QML généré est le suivant.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">import Qt 4.7 <br />
Rectangle { <br />
&nbsp; &nbsp; width: 200 <br />
&nbsp; &nbsp; height: 200 <br />
&nbsp; &nbsp; Text { <br />
&nbsp; &nbsp; &nbsp; &nbsp; x: 66 <br />
&nbsp; &nbsp; &nbsp; &nbsp; y: 93 <br />
&nbsp; &nbsp; &nbsp; &nbsp; text: &quot;Hello World&quot; <br />
&nbsp; &nbsp; } <br />
}</div></div>
<p>Je modifie la chaîne HelloWorld  par <b>qsTr</b>(&laquo;&nbsp;Bonjour&nbsp;&raquo;).</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">import Qt 4.7 <br />
Rectangle { <br />
&nbsp; &nbsp; width: 200 <br />
&nbsp; &nbsp; height: 200 <br />
&nbsp; &nbsp; Text { <br />
&nbsp; &nbsp; &nbsp; &nbsp; x: 66 <br />
&nbsp; &nbsp; &nbsp; &nbsp; y: 93 <br />
&nbsp; &nbsp; &nbsp; &nbsp; text: qsTr(&quot;Bonjour&quot;) <br />
&nbsp; &nbsp; } <br />
}</div></div>
<p>Ce qui donne ceci en mode design :<br />
<img src="http://blog.developpez.com/media/design.png" width="208" height="245" alt="" /></p>
<p>Et cela en exécution:<br />
<img src="http://blog.developpez.com/media/execu.png" width="208" height="245" alt="" /></p>
<p>Interrogation :</p>
<p>Je n’ai pas traduit mon application mais j’ai quand même la chaîne « Bonjour » affichée.<br />
Pourquoi ?</p>
<p>Tout simplement car le module de traduction de Qt affiche par défaut le texte non traduit s’il ne trouve pas de traduction.</p>
<p>Traduction de l’application QML:</p>
<p>La traduction de l’application fonctionne grâce à plusieurs logiciels : lupdate.exe, lrelease.exe et linguist.exe</p>
<ul>
<li>lupdate sert à générer un fichier xml d’extension « .ts » contenant les traductions de plusieurs fichiers QML.<br />
Exemple : lupdate fic1.qml fic2.qml –ts trad.ts</li>
<li>lrelease sert à compiler le fichier ts en un fichier binaire d’extension « *.qm »<br />
Exemple : lrelease trad.ts</li>
<li>linguist est une application graphique d’aide à la traduction.</li>
</ul>
<p>Tests :</p>
<p>J’applique la traduction au projet ci-dessus :</p>
<p>Etape 1 : J’ouvre une ligne de commande dos et je me place dans le répertoire de mon application</p>
<p>Etape 2 : Je génère le fichier QtTraduction.ts<br />
<img src="http://blog.developpez.com/media/lupdate.png" width="667" height="179" alt="" /></p>
<p>Le fichier ressemble à ceci :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; <br />
&lt;!DOCTYPE TS&gt; <br />
&lt;TS version=&quot;2.0&quot;&gt; <br />
&lt;context&gt; <br />
&nbsp; &nbsp; &lt;name&gt;QtTraduction&lt;/name&gt; <br />
&nbsp; &nbsp; &lt;message&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;location filename=&quot;QtTraduction.qml&quot; line=&quot;9&quot;/&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;source&gt;Bonjour&lt;/source&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;translation type=&quot;unfinished&quot;&gt;&lt;/translation&gt; <br />
&nbsp; &nbsp; &lt;/message&gt; <br />
&lt;/context&gt; <br />
&lt;/TS&gt;</div></div>
<p>Etape 3 : Qt linguist</p>
<p>Je lance la commande : liguist QmlTraduction.ts et je choisi la langue cible de ma traduction.<br />
<img src="http://blog.developpez.com/media/choixTrad.png" width="424" height="290" alt="" /></p>
<p>Ici je renseigne la traduction française par une autre traduction française pour l’exemple.<br />
<img src="http://blog.developpez.com/media/linguist.png" width="747" height="645" alt="" /></p>
<p>Ensuite je valide la traduction par le bouton entouré sur l’image.<br />
<img src="http://blog.developpez.com/media/linguistValid.png" width="747" height="645" alt="" /></p>
<p>J’enregistre et je quitte l’application.</p>
<p>Dès lors, le fichier QmlTraduction est complété par la traduction.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; <br />
&lt;!DOCTYPE TS&gt; <br />
&lt;TS version=&quot;2.0&quot; language=&quot;fr_FR&quot; sourcelanguage=&quot;fr_FR&quot;&gt; <br />
&lt;context&gt; <br />
&nbsp; &nbsp; &lt;name&gt;QtTraduction&lt;/name&gt; <br />
&nbsp; &nbsp; &lt;message&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;location filename=&quot;QtTraduction.qml&quot; line=&quot;9&quot;/&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;source&gt;Bonjour&lt;/source&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;translation&gt;Salut&lt;/translation&gt; <br />
&nbsp; &nbsp; &lt;/message&gt; <br />
&lt;/context&gt; <br />
&lt;/TS&gt;</div></div>
<p>Etape 4 : Génération du fichier de traduction compilé</p>
<p>Je lance la commande : lrelease QtTraduction et j’obtiens un fichier QtTraduction.qm.<br />
<img src="http://blog.developpez.com/media/qm.png" width="1089" height="87" alt="" /></p>
<p>Etape5 : Lancement de l’application traduite.<br />
Pour appliquer la traduction via qmlviewer, il faut préciser les fichiers de traduction via la commande :<br />
Qmlviewer –translation QtTraduction.qm QtTraduction.qml<br />
<img src="http://blog.developpez.com/media/loadTrad.png" width="664" height="420" alt="" /></p>
<p>Voilà, je n’ai plus qu’à appliquer ce principe pour mes traductions d’applications QML.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
