diff options
author | Timothy Pearson <[email protected]> | 2012-01-01 18:24:37 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2012-01-01 18:24:37 -0600 |
commit | 4e997a9c6e25689dca65a2ec573a599699ef8170 (patch) | |
tree | fdb5ecac42fb8204df9fc8c9abe1c784d4719e0e /doc/fr/index.html | |
parent | bfa107694b2507a7116f8856cafe4ab1375da8a9 (diff) | |
download | libtqt-perl-4e997a9c6e25689dca65a2ec573a599699ef8170.tar.gz libtqt-perl-4e997a9c6e25689dca65a2ec573a599699ef8170.zip |
Initial TQt conversion
Diffstat (limited to 'doc/fr/index.html')
-rw-r--r-- | doc/fr/index.html | 408 |
1 files changed, 204 insertions, 204 deletions
diff --git a/doc/fr/index.html b/doc/fr/index.html index 2f5e788..18fde1c 100644 --- a/doc/fr/index.html +++ b/doc/fr/index.html @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> -<title>Programmer avec PerlQt</title> +<title>Programmer avec PerlTQt</title> <link rel="stylesheet" href="../css/pod.css" type="text/css" /> <link rev="made" href="mailto:root@localhost" /> </head> @@ -13,17 +13,17 @@ <ul> - <li><a href="#programmer_avec_perlqt">Programmer avec PerlQt</a></li> + <li><a href="#programmer_avec_perlqt">Programmer avec PerlTQt</a></li> <li><a href="#introduction">Introduction</a></li> <li><a href="#installation">Installation</a></li> <ul> <li><a href="#conditions_requises">Conditions requises</a></li> - <li><a href="#compilation_de_perlqt">Compilation de PerlQt</a></li> + <li><a href="#compilation_de_perlqt">Compilation de PerlTQt</a></li> <li><a href="#installation_avec_les_droits_d'utilisateur">Installation avec les droits d'utilisateur</a></li> </ul> - <li><a href="#anatomie_de_perlqt">Anatomie de PerlQt</a></li> + <li><a href="#anatomie_de_perlqt">Anatomie de PerlTQt</a></li> <ul> <li><a href="#hello_world">Hello World</a></li> @@ -37,7 +37,7 @@ <li><a href="#signaux_et_slots">Signaux et Slots</a></li> </ul> - <li><a href="#d�veloppement_rapide_(rad)_avec_qt_designer_et_puic">D�veloppement rapide (RAD) avec Qt Designer et Puic</a></li> + <li><a href="#d�veloppement_rapide_(rad)_avec_qt_designer_et_puic">D�veloppement rapide (RAD) avec TQt Designer et Puic</a></li> <ul> <li><a href="#introduction">Introduction</a></li> @@ -73,9 +73,9 @@ <hr /> <p> </p> -<h1><a name="programmer_avec_perlqt">Programmer avec PerlQt</a></h1> +<h1><a name="programmer_avec_perlqt">Programmer avec PerlTQt</a></h1> <p><strong>Germain Garand</strong> traduit par <strong>St�phane Payrard</strong>, r�vis� et augment� par l'auteur.</p> -<p>Ce document d�crit l'interface Perl au toolkit Qt 3.x. Contacter +<p>Ce document d�crit l'interface Perl au toolkit TQt 3.x. Contacter l'auteur � <<a href="mailto:[email protected]">[email protected]</a>> ou le traducteur � <<a href="mailto:[email protected]">[email protected]</a>>. Vous trouverez le document original sur le site <a href="http://perlqt.sourceforge.net">perlqt.sourceforge.net</a></p> @@ -83,23 +83,23 @@ l'auteur � <<a href="mailto:[email protected]">[email protected] </p> <hr /> <h1><a name="introduction">Introduction</a></h1> -<p>PerlQt-3, cr�e par Ashley Winters, est une interface perl aux composants -graphiques (et non graphiques) fournis par Qt3.</p> -<p>Le toolkit Qt 3.0 auquel PerlQt acc�de � �t� �crit en C++ par la soci�t� +<p>PerlTQt-3, cr�e par Ashley Winters, est une interface perl aux composants +graphiques (et non graphiques) fournis par TQt3.</p> +<p>Le toolkit TQt 3.0 auquel PerlTQt acc�de � �t� �crit en C++ par la soci�t� Trolltech: <a href="http://www.trolltech.com">Trolltech</a>.</p> -<p>PerlQt3 est fond� sur la librairie +<p>PerlTQt3 est fond� sur la librairie <a href="http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdebindings/smoke">SMOKE</a>, une surcouche fine ind�pendante du langage. Cette couche a �t� g�n�r�e -� partir des fichiers d'en t�te de Qt par le +� partir des fichiers d'en t�te de TQt par le <a href="http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdebindings/kalyptus">kalyptus</a> de Richard Dale gr�ce au module de David Faure.</p> -<p>Le pr�sent document d�crit les principes de la programmation PerlQt. +<p>Le pr�sent document d�crit les principes de la programmation PerlTQt. Vous devez avoir des notions de programmation orient�e objet en Perl pour le lire. Une connaissance de C++ est recommand�e mais non requise. Avec -celle de l'anglais, elle vous facilitera la consultation des <a href="http://doc.trolltech.com">manuels en ligne de Qt</a>. Ladite documentation est +celle de l'anglais, elle vous facilitera la consultation des <a href="http://doc.trolltech.com">manuels en ligne de TQt</a>. Ladite documentation est la seule r�f�rence qui fasse autorit�.</p> -<p>Si Qt est install� sur votre syst�me, sa documentation l'est -certainement aussi : voyez le programme $QTDIR/bin/assistant.</p> +<p>Si TQt est install� sur votre syst�me, sa documentation l'est +certainement aussi : voyez le programme $TQTDIR/bin/assistant.</p> <p> </p> <hr /> @@ -107,7 +107,7 @@ certainement aussi : voyez le programme $QTDIR/bin/assistant.</p> <p> </p> <h2><a name="conditions_requises">Conditions requises</a></h2> -<p>Pour compiler et utiliser PerlQt, vous devez avoir:</p> +<p>Pour compiler et utiliser PerlTQt, vous devez avoir:</p> <ul> <li></li> un syst�me conforme � la norme POSIX. @@ -116,41 +116,41 @@ un syst�me conforme � la norme POSIX. <a href="http://www.perl.org">Perl >= v5.6.0</a> <p></p> <li></li> -<a href="http://www.trolltech.com/developer/download/qtx11.html">Qt >= v3.0</a> +<a href="http://www.trolltech.com/developer/download/qtx11.html">TQt >= v3.0</a> <p></p> <li></li> -<a href="http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdebindings/smoke">SmokeQt 1.2.1</a> La +<a href="http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdebindings/smoke">SmokeTQt 1.2.1</a> La librarie SMOKE (Scripting Meta Object Kompiler) fait partie du module <a href="http://www.kde.org">KDE</a>'s <strong>kdebindings</strong>. Vous pouvez v�rifier si une version pr�compil�e de ce module existe pour votre syst�me. Mais -perlQt inclut une copie, donc la version pr�compil�e n'est pas +perlTQt inclut une copie, donc la version pr�compil�e n'est pas n�cessaire. <p></p> <li></li> Les outils GNU : automake(>=1.5), autoconf (>=2.13), aclocal... <p></p></ul> -<p>L'installation de Perl et de Qt sont en dehors du sujet du pr�sent +<p>L'installation de Perl et de TQt sont en dehors du sujet du pr�sent document. Se r�f�rer aux documentations respectives de ces logiciels.</p> <p> </p> -<h2><a name="compilation_de_perlqt">Compilation de PerlQt</a></h2> +<h2><a name="compilation_de_perlqt">Compilation de PerlTQt</a></h2> <p>Les instructions de cette section pr�supposent que le r�pertoire courant est -le r�pertoire racine de l'arborescence des sources de PerlQt.</p> -<p>PerlQt utilise le syst�me GNU Autoconf, mais il est pr�f�rable de le lancer via +le r�pertoire racine de l'arborescence des sources de PerlTQt.</p> +<p>PerlTQt utilise le syst�me GNU Autoconf, mais il est pr�f�rable de le lancer via le script standard <code>Makefile.PL</code> :</p> <pre> perl Makefile.PL</pre> -<p><strong>N.B :</strong> Si la variable d'environnement <strong>QTDIR</strong> n'est pas d�finie, vous devrez -peut-�tre sp�cifier manuellement l'emplacement de Qt � l'aide de l'option :</p> +<p><strong>N.B :</strong> Si la variable d'environnement <strong>TQTDIR</strong> n'est pas d�finie, vous devrez +peut-�tre sp�cifier manuellement l'emplacement de TQt � l'aide de l'option :</p> <pre> - --with-qtdir=/emplacement/de/Qt</pre> + --with-qtdir=/emplacement/de/TQt</pre> <p>Si la biblioth�que SMOKE est manquante, <code>configure</code> g�n�rera ses sources dans un sous-r�pertoire.</p> <pre> make</pre> <pre> make install</pre> -<p>Cela installera PerlQt, Puic et les utilitaires pqtsh et pqtapi.</p> +<p>Cela installera PerlTQt, Puic et les utilitaires pqtsh et pqtapi.</p> <p>Le lieu d'installation privil�gi� de SMOKE et de PUIC est le syst�me de fichiers de KDE3. Si KDE3 n'est pas install� (ou que la variable KDEDIR n'est pas d�finie), sp�cifier ce lieu avec l'option <code>--prefix</code> de <code>configure</code>'s. Ainsi :</p> @@ -170,19 +170,19 @@ dans laquelle la biblioth�que Smoke et l'ex�cutable 'puic' seront install�s : <p>Ceci installera Smoke dans ~/lib et puic dans ~/bin</p> <p></p> <li></li> -Reconfigurez le module PerlQt pour qu'il ne s'installe pas dans la hi�rarchie Perl ordinaire : +Reconfigurez le module PerlTQt pour qu'il ne s'installe pas dans la hi�rarchie Perl ordinaire : <pre> - cd PerlQt + cd PerlTQt perl Makefile.PL PREFIX=~ cd ..</pre> <p>Attention : il ne s'agit pas du Makefile.PL situ� � la racine de l'arborescence mais bien de celui -situ� dans le sous-r�pertoire PerlQt</p> +situ� dans le sous-r�pertoire PerlTQt</p> <p></p> <li></li> Lancez la compilation et l'installation <pre> make && make install</pre> -<p>Pour ex�cuter des programmes PerlQt, il vous faudra d�sormais indiquer � Perl l'emplacement de cette hi�rarchie externe, +<p>Pour ex�cuter des programmes PerlTQt, il vous faudra d�sormais indiquer � Perl l'emplacement de cette hi�rarchie externe, � l'aide d'une ligne de la forme :</p> <pre> perl -Mlib="~/local/lib/perl/5.x.x" programme.pl</pre> @@ -193,38 +193,38 @@ Lancez la compilation et l'installation <p> </p> <hr /> -<h1><a name="anatomie_de_perlqt">Anatomie de PerlQt</a></h1> -<p>Un programme Qt typique utilisant des composants GUI est fond� sur une +<h1><a name="anatomie_de_perlqt">Anatomie de PerlTQt</a></h1> +<p>Un programme TQt typique utilisant des composants GUI est fond� sur une boucle �v�nementielle.</p> <p>Il ne se comporte pas comme une suite s�quentielle d'instructions o� vous devriez g�rer vous-m�me chaque �v�nement (tels que le clic de la souris ou l'enfoncement d'une touche).</p> -<p>Au lieu de cela, vous cr�ez un objet <strong>Qt::Application</strong> et les composants +<p>Au lieu de cela, vous cr�ez un objet <strong>TQt::Application</strong> et les composants du GUI qu'il utilise, puis vous d�finissez les m�thodes d'objet � appeler lors de l'occurrence d'un �v�nement, puis d�marrez la boucle �v�nementielle.</p> -<p>C'est tout. Qt g�rera les �v�nements et les dirigera vers les +<p>C'est tout. TQt g�rera les �v�nements et les dirigera vers les routines appropri�es.</p> -<p>Voyons un programme PerlQt minimal.</p> +<p>Voyons un programme PerlTQt minimal.</p> <p> </p> <h2><a name="hello_world">Hello World</a></h2> <pre> - 1: use Qt; - 2: my $a = Qt::Application(\@ARGV); - 3: my $hello = Qt::PushButton("Hello World!", undef); + 1: use TQt; + 2: my $a = TQt::Application(\@ARGV); + 3: my $hello = TQt::PushButton("Hello World!", undef); 4: $hello->resize(160, 25); 5: $a->setMainWidget($hello); 6: $hello->show; 7: exit $a->exec;</pre> <br/> -<div class='image'><img src="../images/ex1.png"/></div><p>Ce programme charge d'abord le module Qt [line 1] puis cr�e l'objet +<div class='image'><img src="../images/ex1.png"/></div><p>Ce programme charge d'abord le module TQt [line 1] puis cr�e l'objet application <strong>$a</strong> en lui passant une r�f�rence au tableau <code>@ARGV</code> contenant les arguments de la ligne de commande [l.2]. Cet objet application est unique pour un interpr�teur Perl donn� et peut �tre -ensuite acc�d� par la fonction pure <strong>Qt::app()</strong>.</p> +ensuite acc�d� par la fonction pure <strong>TQt::app()</strong>.</p> <p>La ligne 3, cr�e un PushButton orphelin (c.�.d sans parent: non contenu dans un autre widget) dont nous passons la valeur <strong>undef</strong> -comme argument pour le parent. <strong>undef</strong> est l'�quivalent perlQt d'un +comme argument pour le parent. <strong>undef</strong> est l'�quivalent perlTQt d'un pointeur null en C++.</p> <p>Apr�s les instructions de ``mise en page'' [l.4], nous indiquons � l'objet application que le widget principal est ce @@ -236,36 +236,36 @@ appelle la m�thode <strong>show</strong> [l.6] et lance la boucle <p><strong>Sommaire de la syntaxe :</strong></p> <ol> <li></li> -Les classes PerlQt sont accessibles par le pr�fixe <strong>Qt::</strong> au lieu du -<strong>Q</strong> initial des classes Qt en C++. En consultant la <a href="http://doc.trolltech.com">documentation Qt</a>, vous devez donc mentalement changer le -nom d'une clasee <strong>QFoo</strong> en <strong>Qt::Foo</strong>. +Les classes PerlTQt sont accessibles par le pr�fixe <strong>TQt::</strong> au lieu du +<strong>Q</strong> initial des classes TQt en C++. En consultant la <a href="http://doc.trolltech.com">documentation TQt</a>, vous devez donc mentalement changer le +nom d'une clasee <strong>TQFoo</strong> en <strong>TQt::Foo</strong>. <p></p> <li></li> De mani�re similaire � C++, un objet est cr�� par l'appel d'un <strong>constructeur</strong> de m�me nom que la classe dont il est une m�thode. -<p>Vous ne devez donc pas dire <code>new Qt::Foo</code> ou <code>Qt::Foo->new()</code> +<p>Vous ne devez donc pas dire <code>new TQt::Foo</code> ou <code>TQt::Foo->new()</code> contrairement � l'usage commun en Perl.</p> <p>Dites simplement:</p> <pre> - my $object = Qt::<classname>(arg_1, ..., arg_n);</pre> + my $object = TQt::<classname>(arg_1, ..., arg_n);</pre> <p>Un constructeur sans argument s'�nonce encore plus bri�vement :</p> <pre> - my $object = Qt::<classname>;</pre> + my $object = TQt::<classname>;</pre> <p></p> <li></li> Comme il a d�j� �t� dit, l'�quivalent Perl d'un pointeur C++ est le mot-cl� Perl <strong>undef</strong>. <p>Les pointeurs sont les arguments pr�c�d�s par le caract�re <strong>*</strong> dans la -documentation Qt (Par exemple: ``<code>QWidget* widget</code>'').</p> +documentation TQt (Par exemple: ``<code>TQWidget* widget</code>'').</p> <p></p></ol> <p> </p> <h2><a name="l'h�ritage_et_les_objets">L'h�ritage et les objets</a></h2> -<p>Avant d'expliquer comment les routines Perl peuvent �tre appel�es de Qt, -parlons du m�canisme d'h�ritage vu de PerlQt.</p> -<p>PerlQt est con�u pour allier la simplicit� de Qt � la puissance et � la -flexibilit� de Perl. Pour ce faire, PerlQt �tend le paradigme objet de -Perl pour mimer Qt et son m�canisme de <strong>m�taobjets</strong>.</p> +<p>Avant d'expliquer comment les routines Perl peuvent �tre appel�es de TQt, +parlons du m�canisme d'h�ritage vu de PerlTQt.</p> +<p>PerlTQt est con�u pour allier la simplicit� de TQt � la puissance et � la +flexibilit� de Perl. Pour ce faire, PerlTQt �tend le paradigme objet de +Perl pour mimer TQt et son m�canisme de <strong>m�taobjets</strong>.</p> <p> </p> <h3><a name="un_widget_personnalis�">Un Widget personnalis�</a></h3> @@ -275,8 +275,8 @@ de PushButton:</p> 1: use strict; 2: 3: package Button; - 4: use Qt; - 5: use Qt::isa qw(Qt::PushButton); + 4: use TQt; + 5: use TQt::isa qw(TQt::PushButton); 6: 7: sub NEW 8: { @@ -288,25 +288,25 @@ de PushButton:</p> 14: 15: package main; 16: - 17: use Qt; + 17: use TQt; 18: use Button; 19: - 20: my $a = Qt::Application(\@ARGV); + 20: my $a = TQt::Application(\@ARGV); 21: my $w = Button("Hello World!", undef); 22: $a->setMainWidget($w); 23: $w->show; 24: exit $a->exec;</pre> <p>Pour implanter notre propre version de PushButton, nous cr�ons un nouveau -package [l.3] et importons Qt [l.4].</p> -<p>Nous utilisons le pragma <code>Qt::isa</code> [l.5] pour d�clarer notre widget +package [l.3] et importons TQt [l.4].</p> +<p>Nous utilisons le pragma <code>TQt::isa</code> [l.5] pour d�clarer notre widget comme sous-classe de PushButton. Ce pragma accepte une liste de une ou plusieurs classes dont d�rive la classe � d�finir.</p> <p>Cr�ons maintenant un constructeur pour notre nouveau widget en �crivant une routine appel�e <strong>NEW</strong> <em>(notez les majuscules qui marquent une m�thode diff�rente du constructeur ``new'' usuel)</em>. -Le constructeur PerlQt est appel� <strong>implicitement</strong> <em>comme ligne 21</em>.</p> +Le constructeur PerlTQt est appel� <strong>implicitement</strong> <em>comme ligne 21</em>.</p> <p>Note widget doit d'abord appeler le constructeur de sa classe de base -(ici: Qt::PushButton) � la ligne 9, avec tous les arguments que nous +(ici: TQt::PushButton) � la ligne 9, avec tous les arguments que nous avons re�us.</p> <p>Nous cr�ons ainsi un objet instance de notre classe. Cette objet est accessible par la fonction <strong>this</strong> (Attention: ce n'est pas la @@ -322,7 +322,7 @@ ses diff�rents composants � l'int�rieur de variables de scope lexical (c.�.d d�clar�es par <strong>my</strong>) puisque les widgets sont seulement d�truits par leur parent et non n�cessairement quand leur conteneur dispara�t du scope.</p> -<p>En d'autres termes, PerlQt utilise un syst�me de comptage de +<p>En d'autres termes, PerlTQt utilise un syst�me de comptage de r�f�rences pour g�rer la destruction des objets.</p> <p>Souvent cependant, vous souhaiterez acc�der aux composants de votre objet depuis un tout autre endroit que celui o� vous l'avez cr�� (par exemple pour modifier une @@ -331,20 +331,20 @@ propose de stocker une r�f�rence � ces composants dans la table associative (has l'objet lui-m�me. Mais cette syntaxe s'av�re peu pratique � l'usage et beaucoup trop libre - il n'y a pas de v�rification � la compilation de sorte que vous pouvez acc�der � des clefs non existantes sans d�clencher d'erreur.</p> -<p>En lieu et place de cette syntaxe, PerlQt introduit le concept d'<strong>attributs</strong>.</p> +<p>En lieu et place de cette syntaxe, PerlTQt introduit le concept d'<strong>attributs</strong>.</p> <p>Les attributs sont de simples variables perl, �crites sans le signe dollar initial, et pouvant contenir toute donn�e qui est une propri�t� de votre objet. Leur principal avantage est de fournir une syntaxe tr�s rapide et v�rifiable � la compilation.</p> <p>Pour d�finir et pouvoir utiliser de nouveaux attributs, il suffit d'utiliser -le pragma <code>use Qt::attributes</code>, suivi d'une liste des noms d'attributs souhait�s. +le pragma <code>use TQt::attributes</code>, suivi d'une liste des noms d'attributs souhait�s. Ainsi:</p> <pre> 1: use strict; 2: 3: package Button; - 4: use Qt; - 5: use Qt::isa qw(Qt::PushButton); - 6: use Qt::attributes qw( + 4: use TQt; + 5: use TQt::isa qw(TQt::PushButton); + 6: use TQt::attributes qw( 7: itsTime 8: pData 9: ); @@ -352,7 +352,7 @@ Ainsi:</p> 11: sub NEW 12: { 13: shift->SUPER::NEW(@_[0..2]); - 14: itsTime = Qt::Time; + 14: itsTime = TQt::Time; 15: itsTime->start; 16: pData->{'key'} = " Foo "; 17: } @@ -365,7 +365,7 @@ Ainsi:</p> 24: 25: 1;</pre> <br/> -<div class='image'><img src="../images/ex2.png"/></div><p>L'attribut itsTime est d�clar� � la ligne 7 et initialis� par un objet <code>Qt::Time</code> +<div class='image'><img src="../images/ex2.png"/></div><p>L'attribut itsTime est d�clar� � la ligne 7 et initialis� par un objet <code>TQt::Time</code> � la ligne 14.</p> <p>Puisque nous r�impl�mentons la fonction virtuelle ``resizeEvent'' [l.19], chaque fois que le widget principal est redimensionn�, cette @@ -375,11 +375,11 @@ nous avons d�finis [1.22].</p> <p><strong>R�capitulation</strong></p> <ul> <li></li> -Pour h�riter d'une classe Qt, un package doit contenir un -pragma <code>use Qt::isa</code>. +Pour h�riter d'une classe TQt, un package doit contenir un +pragma <code>use TQt::isa</code>. <p>Ainsi:</p> <pre> - use Qt::isa "Qt::widget";</pre> + use TQt::isa "TQt::widget";</pre> <p></p> <li></li> Le constructeur d'objet est nomm� <strong>NEW</strong> et est appel� implicitement. @@ -430,7 +430,7 @@ partir d'une classe d�riv�e, utilisez l'attribut sp�cial SUPER :</p> Lorsque vous devez stocker dans votre package un objet contenu, vous devez le d�finir comme <strong>attribut</strong> : <pre> - use Qt::attributes qw( + use TQt::attributes qw( firstAttribute ... lastAttribute);</pre> @@ -449,19 +449,19 @@ l'objet <strong>this</strong>, ce qui rend les tournures ``unAttribut->foncti Pour r�impl�menter une <strong>fonction virtuelle</strong>, cr�ez simplement une <strong>sub</strong> de m�me nom que cette fonction. <p>Les fonctions virtuelles existantes sont marqu�es comme telles dans -la documentation de Qt (ce sont les m�thodes pr�c�d�es du mot clef ``virtual'').</p> -<p>Vous pouvez visualiser les noms de m�thodes virtuelles que Qt tentera d'appeler -dans votre classe en pla�ant <code>use Qt::debug qw|virtual|</code> en t�te de +la documentation de TQt (ce sont les m�thodes pr�c�d�es du mot clef ``virtual'').</p> +<p>Vous pouvez visualiser les noms de m�thodes virtuelles que TQt tentera d'appeler +dans votre classe en pla�ant <code>use TQt::debug qw|virtual|</code> en t�te de votre programme.</p> <p></p></ul> <p> </p> <h2><a name="signaux_et_slots">Signaux et Slots</a></h2> -<p>Voyons maintenant comment les objets Qt peuvent communiquer entre eux +<p>Voyons maintenant comment les objets TQt peuvent communiquer entre eux de mani�re � ce qu'un �v�nement concernant un objet puisse d�clencher l'ex�cution d'une routine en un quelconque endroit de votre programme.</p> <p>Dans d'autres toolkits, les callbacks (appels en retour) sont g�n�ralement -utilis�s � cet effet. Mais Qt dispose d'un m�canisme beaucoup plus puissant +utilis�s � cet effet. Mais TQt dispose d'un m�canisme beaucoup plus puissant et plus flexible : les <strong>Signaux et Slots</strong>.</p> <p>On peut se le repr�senter comme le cablage entre les composants d'une cha�ne Hi-Fi. Un amplificateur, par exemple, �met des signaux de sortie @@ -470,20 +470,20 @@ Un magn�tophone peut attendre un signal sur sa prise d'entr�e pour commencer � enregistrer, et il ne cherchera pas � savoir s'il est l'unique destinataire de ce signal ou si ce dernier est aussi re�u par un graveur de CD ou �cout� au casque.</p> -<p>Un composant Qt se comporte comme notre amplificateur ou notre +<p>Un composant TQt se comporte comme notre amplificateur ou notre magn�tophone. Il a des sorties ou <strong>Signaux</strong> et des entr�es ou <strong>Slots</strong>. Chaque sortie (signal) est connectable � un nombre illimit� d'entr�es (slots). La sortie d'un composant peut �tre potentiellement branch�e � toute entr�e d'un composant (y compris lui-m�me),</p> <p>La syntaxe de ce syst�me de connexion est soit:</p> -<p>Qt::Object::connect( envoyeur, SIGNAL 'mon_signal(types_d_arguments)', -recepteur, SLOT 'monslot(types_d_arguments)');</p> +<p>TQt::Object::connect( envoyeur, TQT_SIGNAL 'mon_signal(types_d_arguments)', +recepteur, TQT_SLOT 'monslot(types_d_arguments)');</p> <p>soit:</p> -<p>unObjet->connect( envoyeur, SIGNAL 'mon_signal(types_d_arguments)', +<p>unObjet->connect( envoyeur, TQT_SIGNAL 'mon_signal(types_d_arguments)', SLOT 'monslot(types_d_arguments)');</p> <p>Dans le second cas, le r�cepteur est omis car c'est l'objet lui-m�me,</p> <p>Ce m�canisme est extensible � volont� par la d�claration de nouveaux Signaux et -Slots par l'usage des pragma <code>use Qt::signals</code> et <code>use Qt::slots</code> +Slots par l'usage des pragma <code>use TQt::signals</code> et <code>use TQt::slots</code> (voir aussi la deuxi�me syntaxe d�crite plus bas).</p> <p>Chaque slot d�clar� appellera la routine correspondante de votre objet. Chaque signal d�clar� peut �tre d�clench� via le mot-cl� <strong>emit</strong>.</p> @@ -492,22 +492,22 @@ objet. Chaque signal d�clar� peut �tre d�clench� via le mot-cl� <strong>emit</st 1: use strict; 2: 3: package Button; - 4: use Qt; - 5: use Qt::isa qw(Qt::PushButton); - 6: use Qt::attributes qw(itsTime); - 7: use Qt::slots + 4: use TQt; + 5: use TQt::isa qw(TQt::PushButton); + 6: use TQt::attributes qw(itsTime); + 7: use TQt::slots 8: aEteClicke => [], 9: changement => ['int', 'int']; - 10: use Qt::signals + 10: use TQt::signals 11: changeLe => ['int', 'int']; 12: 13: sub NEW 14: { 15: shift->SUPER::NEW(@_[0..2]); - 16: itsTime = Qt::Time; + 16: itsTime = TQt::Time; 17: itsTime->start; - 18: this->connect(this, SIGNAL 'clicked()', SLOT 'aEteClicke()'); - 19: this->connect(this, SIGNAL 'changeLe(int,int)', SLOT 'changement(int,int)'); + 18: this->connect(this, TQT_SIGNAL 'clicked()', TQT_SLOT 'aEteClicke()'); + 19: this->connect(this, TQT_SIGNAL 'changeLe(int,int)', TQT_SLOT 'changement(int,int)'); 20: } 21: 22: sub aEteClicke @@ -526,7 +526,7 @@ objet. Chaque signal d�clar� peut �tre d�clench� via le mot-cl� <strong>emit</st 35: 36: 1;</pre> <p>Nous d�finissons dans ce package deux nouveaux slots et un nouveau signal.</p> -<p>La documentation Qt nous dit que tout PushButton click� �met un signal +<p>La documentation TQt nous dit que tout PushButton click� �met un signal <code>clicked()</code> ; nous le connectons donc � notre nouveau slot [ligne 18].</p> <p>Nous connectons aussi notre signal <code>ChangeLe</code> � notre slot <code>changement</code>.</p> @@ -534,9 +534,9 @@ objet. Chaque signal d�clar� peut �tre d�clench� via le mot-cl� <strong>emit</st <code>clicked()</code> est �mit et d�clenche le slot <code>aEteClicke()</code>. <code>aEteClicke()</code> �met � son tour le signal <code>changeLe(int,int)</code>[l.27], appelant de ce fait le slot <code>changement(int,int)</code>, avec deux arguments.</p> -<p>Enfin, il existe une syntaxe alternative introduite dans PerlQt-3.008 :</p> +<p>Enfin, il existe une syntaxe alternative introduite dans PerlTQt-3.008 :</p> <pre> - sub un_slot : SLOT(int, QString) + sub un_slot : TQT_SLOT(int, TQString) { $int = shift; $string = shift; @@ -544,43 +544,43 @@ appelant de ce fait le slot <code>changement(int,int)</code>, avec deux argument }</pre> <p>et</p> <pre> - sub un_signal : SIGNAL(QString);</pre> + sub un_signal : TQT_SIGNAL(TQString);</pre> <p>Cette syntaxe est parfaitement compatible avec la d�claration par le biais de -<code>use Qt::signals</code> et <code>use Qt::slots</code>. +<code>use TQt::signals</code> et <code>use TQt::slots</code>. Il peut d'ailleurs d'av�rer tr�s profitable pour la clart� du programme de d�clarer tout d'abord -les signaux/slots au moyen de <code>use Qt::slots/signals</code>, puis de rappeler cette d�claration au niveau de +les signaux/slots au moyen de <code>use TQt::slots/signals</code>, puis de rappeler cette d�claration au niveau de l'impl�mentation � l'aide de la seconde syntaxe. Les d�clarations seront alors v�rifi�es � la compilation, et le moindre conflit g�n�rera un avertissement.</p> <p> </p> <hr /> -<h1><a name="d�veloppement_rapide_(rad)_avec_qt_designer_et_puic">D�veloppement rapide (RAD) avec Qt Designer et Puic</a></h1> +<h1><a name="d�veloppement_rapide_(rad)_avec_qt_designer_et_puic">D�veloppement rapide (RAD) avec TQt Designer et Puic</a></h1> <p> </p> <h2><a name="introduction">Introduction</a></h2> <ul> <li><strong><a name="item_n%2eb%3a">N.B:</a></strong><br /> </li> -Depuis la version 3.008, il existe un plugin sp�cifique � PerlQt pour Qt Designer. +Depuis la version 3.008, il existe un plugin sp�cifique � PerlTQt pour TQt Designer. Ce plugin (disponible sur les pages internet du projet) apporte le confort d'une int�gration pouss�e, la coloration syntaxique Perl, la compl�tion automatique, et permet de lancer et d�boguer un projet sans quitter l'interface du Designer. Ce qui suit reste n�anmoins parfaitement valable pour ce qui est de l'utilisation de puic en ligne de commande, -et pour l'utilisation de Qt Designer <em>sans</em> le plugin sp�cifique. +et pour l'utilisation de TQt Designer <em>sans</em> le plugin sp�cifique. <p></p></ul> -<p>Aussi puissant et intuitif que soit Qt, �crire une GUI compl�te reste un exercice +<p>Aussi puissant et intuitif que soit TQt, �crire une GUI compl�te reste un exercice fastidieux.</p> -<p>Heureusement, Qt est fourni avec un constructeur de GUI sophistiqu� -appel� Qt Designer qui est quasiment un environnement de d�veloppement +<p>Heureusement, TQt est fourni avec un constructeur de GUI sophistiqu� +appel� TQt Designer qui est quasiment un environnement de d�veloppement int�gr�. Il comporte la gestion de Projets, la cr�ation d'un GUI par des actions de ``drag and drop'', un butineur d'objet complet, l'interconnexion graphique de signaux et de slots, et plus encore.</p> -<p>L'information g�n�r�e par Qt Designer's est en format XML et peut donc +<p>L'information g�n�r�e par TQt Designer's est en format XML et peut donc �tre pars�e par diff�rentes commandes comme dont <strong>puic</strong> (le -compilateur d'interface utilisateur PerlQt).</p> +compilateur d'interface utilisateur PerlTQt).</p> <p>Supposons que vous avez d�ja construit un fichier d'interface avec -Qt Designer, la transcription en un programme PerlQt se fait par +TQt Designer, la transcription en un programme PerlTQt se fait par la simple ex�cution de la commande :</p> <pre> puic -x -o program.pl program.ui</pre> @@ -598,7 +598,7 @@ principal � fins de test,</p> <li><strong><a name="item_inclusion_inline">Inclusion Inline</a></strong><br /> </li> A cette fin, nous devons s�lectionner ``Edit->Form -Settings->Pixmaps->Save inline'' dans Qt Designer et executer ensuite: +Settings->Pixmaps->Save inline'' dans TQt Designer et executer ensuite: <pre> puic -x -o F<program.pl> F<program.ui></pre> <p></p> @@ -609,7 +609,7 @@ Cette strat�gie est plus complexe, mais plus propre et plus puissante. puic -o F<Collection.pm> -embed F<unique_identifier> F<image-1> ... F<image-n></pre> <p>Ajoutez l'instruction <code>use Collection.pm</code> dans le package principal de votre programme.</p> -<p>Si vous avez cr�� un fichier projet dans Qt Designer et ajout� toutes +<p>Si vous avez cr�� un fichier projet dans TQt Designer et ajout� toutes les images dans un groupe (par ``Project->Image Collection''), vous disposez ensuite de ces images dans le r�pertoire o� votre fichier projet (*.pro) est stock�, dans le sous-r�pertoire <strong>image</strong>. Vous pouvez @@ -632,7 +632,7 @@ manuellement ou vous devrez faire des copier-coller intensifs.</p> <ul> <li><strong><a name="item_�crire_l%27impl�mentation_de_slots_dans_le_designe">�crire l'impl�mentation de slots dans le Designer</a></strong><br /> </li> -Dans Qt Designer, selectionnez l'onglet <em>Source</em> dans l'explorateur +Dans TQt Designer, selectionnez l'onglet <em>Source</em> dans l'explorateur d'objets (<strong>Object Explorer</strong>). Vous pouvez ainsi voir repr�sent�es sous forme d'arbre les classes que vous avez g�n�r�es. Maintenant, si vous cliquez deux fois sur l'entr�e <em>Slots/public</em>, @@ -698,7 +698,7 @@ manuellement form1.ui puisqu'il serait �cras�)</p> </p> <hr /> <h1><a name="autres_outils_de_d�veloppement">Autres outils de d�veloppement</a></h1> -<p>PerlQt comprend �galement deux programmes pouvant vous aider � ma�triser l'API de Qt :</p> +<p>PerlTQt comprend �galement deux programmes pouvant vous aider � ma�triser l'API de TQt :</p> <p> </p> <h2><a name="pqtapi">pqtapi</a></h2> @@ -709,13 +709,13 @@ manuellement form1.ui puisqu'il serait �cras�)</p> options: -r <re> : chercher les m�thodes correspondant � l'expression r�guli�re <re> -i : avec -r, effectue une recherche insensible � la casse - -v : afficher les versions de PerlQt et de Qt + -v : afficher les versions de PerlTQt et de TQt -h : afficher ce message d'aide</pre> <p>ex:</p> <pre> $>pqtapi -ir 'setpoint.* int' - void QCanvasLine::setPoints(int, int, int, int) - void QPointArray::setPoint(uint, int, int)</pre> + void TQCanvasLine::setPoints(int, int, int, int) + void TQPointArray::setPoint(uint, int, int)</pre> <p> </p> <h2><a name="pqtsh">pqtsh</a></h2> @@ -726,17 +726,17 @@ Un exemple dynamique est accessible dans l'entr�e de menu <code>Help->Example </p> <hr /> <h1><a name="limitations">Limitations</a></h1> -<p>Les classes � mod�le (templates) ne sont pas encore accessibles par PerlQt. +<p>Les classes � mod�le (templates) ne sont pas encore accessibles par PerlTQt. En revanche, les classes d�riv�es de classes � mod�le sont disponibles.</p> <p>Vous pouvez reconna�tre ce type de classe en ce que leurs arguments comprennent un type g�n�rique plac� entre les signes ``<'' et ``>''.</p> <p>ex: - QDictIterator ( const QDict<type> & dict )</p> + TQDictIterator ( const TQDict<type> & dict )</p> <p> </p> <hr /> <h1><a name="cr�dits">Cr�dits</a></h1> -<p>PerlQt-3 est (c) 2002 Ashley Winters (et (c) 2003 Germain Garand)</p> +<p>PerlTQt-3 est (c) 2002 Ashley Winters (et (c) 2003 Germain Garand)</p> <p>Kalyptus et l'engin de g�n�ration Smoke sont (c) David Faure and Richard Dale</p> <p>Puic is (c) TrollTech AS., Phil Thompson et Germain Garand,</p> <p>Ledit logiciel est d�livr� sous la GNU Public Licence v.2 or later.</p> @@ -744,27 +744,27 @@ les signes ``<'' et ``>''.</p> </p> <hr /> <h1><a name="appendice:_les_conventions_de_c++_et_leur_traduction_en_perl">Appendice: Les conventions de C++ et leur traduction en Perl</a></h1> -<p>Lorsque vous voulez utiliser depuis PerlQt une classe ou m�thode d�crite -dans la <a href="http://doc.trolltech.com">documentation</a> Qt (voyez aussi le programme -$QTDIR/bin/assistant livr� avec Qt), vous devez suivre des r�gles de translation simples.</p> +<p>Lorsque vous voulez utiliser depuis PerlTQt une classe ou m�thode d�crite +dans la <a href="http://doc.trolltech.com">documentation</a> TQt (voyez aussi le programme +$TQTDIR/bin/assistant livr� avec TQt), vous devez suivre des r�gles de translation simples.</p> <dl> <dt><strong><a name="item_noms_de_classe">Noms de classe</a></strong><br /> </dt> <ul> <li></li> -Les noms de classes utilisent le pr�fixe <strong>Qt::</strong> au lieu de <strong>Q</strong> pour -�tre conforme � l'usage Perl. Ainsi: QComboBox est nomm� Qt::ComboBox -dans PerlQt. +Les noms de classes utilisent le pr�fixe <strong>TQt::</strong> au lieu de <strong>Q</strong> pour +�tre conforme � l'usage Perl. Ainsi: TQComboBox est nomm� TQt::ComboBox +dans PerlTQt. <p></p></ul> <dt><strong><a name="item_fonctions">Fonctions</a></strong><br /> </dt> <ul> <li></li> Les fonctions d�crites comme <strong>static</strong> sont acc�d�es directement et non -� travers un objet. Ainsi la fonction statique Foo de la classe <strong>QBar</strong> -peut �tre acc�d�e de PerlQt par +� travers un objet. Ainsi la fonction statique Foo de la classe <strong>TQBar</strong> +peut �tre acc�d�e de PerlTQt par <pre> - Qt::Bar::Foo( arg-1,...,arg-n);</pre> + TQt::Bar::Foo( arg-1,...,arg-n);</pre> <p></p> <li></li> Les fonctions d�crites comme <strong>members</strong> ou <strong>Signals</strong> sont @@ -774,7 +774,7 @@ Par exemple: <pre> $widget->show;</pre> <p>Il n'y a pas de diff�rence fondamentale entre les m�thodes et les -signaux, n�anmoins PerlQt fournit le mot-cl� <strong>emit</strong> comme une +signaux, n�anmoins PerlTQt fournit le mot-cl� <strong>emit</strong> comme une mn�monique pratique pour rendre clair que vous �mettez un signal :</p> <pre> emit $button->clicked;</pre> @@ -786,14 +786,14 @@ mn�monique pratique pour rendre clair que vous �mettez un signal :</p> </li> Lorsqu'un argument n'est pas pr�c�d� par un des caract�res <strong>&</strong> or <strong>*</strong>, il est pass� par valeur. Pour tous les types basiques tels que -int, char, float and double, PerlQt convertira automatiquement les +int, char, float and double, PerlTQt convertira automatiquement les valeurs lit�rales et scalaires dans le type correspondants C++. <p>Ainsi pour le prototype d'un constructeur �crit dans la documentation comme ceci: - QSize ( int w, int h )</p> + TQSize ( int w, int h )</p> <p>Vous �crirez :</p> <pre> - Qt::Size(8, 12);</pre> + TQt::Size(8, 12);</pre> <p></p> <li><strong><a name="item_par_r�f�rence">Par r�f�rence</a></strong><br /> </li> @@ -801,11 +801,11 @@ Lorsqu'un argument est pr�c�d� par le caract�re <strong>&</strong>, Il est u r�f�rence � un objet ou � un type. Vous pouvez alors fournir un nom de variable ou un objet temporaire : <pre> - $keyseq = Qt::keySequence( &Qt::CTRL + &Qt::F3 ); + $keyseq = TQt::keySequence( &TQt::CTRL + &TQt::F3 ); $widget->setAccel( $keyseq );</pre> <p>ou</p> <pre> - $widget->setAccel(Qt::keySequence( &Qt::CTRL + &Qt::F3 );</pre> + $widget->setAccel(TQt::keySequence( &TQt::CTRL + &TQt::F3 );</pre> <p>Si l'argument n'est <em>pas</em> qualifi� par <strong>const</strong> (constante), l'argument est un objet qui peut �tre alt�r� par la m�thode, vous devez donc passer une variable.</p> @@ -813,7 +813,7 @@ donc passer une variable.</p> <li><strong><a name="item_par_pointeur">Par pointeur</a></strong><br /> </li> Lorsqu'un argument est pr�c�d� par le caract�re <strong>*</strong>, -un pointeur vers un objet ou un type est attendu. En PerlQt, vous +un pointeur vers un objet ou un type est attendu. En PerlTQt, vous pouvez fournir un nom de variable ou le mot cl� <strong>undef</strong> � la place du pointer Null. <p>De plus, si l'argument est const, l'objet pass� en argument est en @@ -839,7 +839,7 @@ dont il serait autrement difficile de se souvenir: nombres (ici 0, 1 et 2)</p> </dd> <dd> -<p>L'acc�s aux valeurs d'�num�ration en Perl Qt est un appel +<p>L'acc�s aux valeurs d'�num�ration en Perl TQt est un appel de fonction statique.</p> </dd> <dd> @@ -851,29 +851,29 @@ pour marquer l'utilisation d'un alias d'�num�ration: <code>&fonction</code>. <p>Revenons � notre exemple <code>Strange</code>.</p> </dd> <dd> -<p>Si nous rencontrons sa d�finition dans la classe <code>QFruits</code>, vous -�crirez en PerlQt :</p> +<p>Si nous rencontrons sa d�finition dans la classe <code>TQFruits</code>, vous +�crirez en PerlTQt :</p> </dd> <dd> <pre> - $pomme_plus_orange = &Qt::Fruit::Pomme + &Qt::Fruit::Orange;</pre> + $pomme_plus_orange = &TQt::Fruit::Pomme + &TQt::Fruit::Orange;</pre> </dd> <p></p> <dt><strong><a name="item_op�rateurs">Op�rateurs</a></strong><br /> </dt> <dd> -Dans PerlQt, la <strong>surcharge d'op�rateurs</strong> fonctionne de mani�re transparente. -Si un op�rateur est surcharg� dans une classe Qt (ce qui signifie que son utilisation +Dans PerlTQt, la <strong>surcharge d'op�rateurs</strong> fonctionne de mani�re transparente. +Si un op�rateur est surcharg� dans une classe TQt (ce qui signifie que son utilisation d�clenchera un appel de m�thode, au lieu d'utiliser l'op�rateur g�n�rique) -il sera �galement surcharg� dans PerlQt. +il sera �galement surcharg� dans PerlTQt. </dd> <dd> <p>ex-1: surcharge de '+='</p> </dd> <dd> <pre> - $p1 = Qt::Point(10, 10) - $p2 = Qt::Point(30,40) + $p1 = TQt::Point(10, 10) + $p2 = TQt::Point(30,40) $p2 += $p1; # $p2 devient (40,50)</pre> </dd> <dd> @@ -881,9 +881,9 @@ il sera �galement surcharg� dans PerlQt. </dd> <dd> <pre> - $f = Qt::File("example"); + $f = TQt::File("example"); $f->open( IO_WriteOnly ); # voir l'entr�e 'Constantes' plus bas - $s = Qt::TextStream( $f ); + $s = TQt::TextStream( $f ); $s << "Que faire avec " << 12 << " pommes ?";</pre> </dd> <dd> @@ -895,50 +895,50 @@ Perl est tr�s diff�rent de C++ en mati�re de copie d'objets.</p> <dt><strong><a name="item_constantes">Constantes</a></strong><br /> </dt> <dd> -Qt n'utilise pas beaucoup de constantes, mais on en trouve cependant dans le module d'Entr�es/Sorties, +TQt n'utilise pas beaucoup de constantes, mais on en trouve cependant dans le module d'Entr�es/Sorties, o� elles font office de drapeaux pour les modes d'ouverture de fichiers. </dd> <dd> <p>Pour �viter de polluer inutilement l'espace de nom, nous avons regroup� les constantes dans le module -<strong>Qt::constants</strong>, d'o� elles seront charg�es � la demande.</p> +<strong>TQt::constants</strong>, d'o� elles seront charg�es � la demande.</p> </dd> <dd> <p>Ainsi, pour importer l'ensemble des constantes d'E/S, on �crira :</p> </dd> <dd> <pre> - use Qt::constants;</pre> + use TQt::constants;</pre> </dd> <dd> <p>Et pour importer quelques symboles seulement :</p> </dd> <dd> <pre> - use Qt::constants qw( IO_ReadOnly IO_WriteOnly );</pre> + use TQt::constants qw( IO_ReadOnly IO_WriteOnly );</pre> </dd> <p></p> <dt><strong><a name="item_fonctions_globales">Fonctions globales</a></strong><br /> </dt> <dd> -Qt dispose de fonctions utilitaires, telles bitBlt, qCompress, etc. +TQt dispose de fonctions utilitaires, telles bitBlt, qCompress, etc. </dd> <dd> <p>Ces fonctions ont �t� rassembl�es dans un espace de nom commun: -<code>Qt::GlobalSpace</code>.</p> +<code>TQt::GlobalSpace</code>.</p> </dd> <dd> <p>Vous pourrez donc y acc�der soit par un appel pleinement qualifi� :</p> </dd> <dd> <pre> - Qt::GlobalSpace::qUncompress( $buffer )</pre> + TQt::GlobalSpace::qUncompress( $buffer )</pre> </dd> <dd> <p>Soit en important pr�alablement ces fonctions dans l'espace de nom courant :</p> </dd> <dd> <pre> - use Qt::GlobalSpace; + use TQt::GlobalSpace; qUncompress( $buffer )</pre> </dd> <dd> @@ -946,11 +946,11 @@ Qt dispose de fonctions utilitaires, telles bitBlt, qCompress, etc. </dd> <dd> <pre> - use Qt::GlobalSpace qw( qUncompress bitBlt )</pre> + use TQt::GlobalSpace qw( qUncompress bitBlt )</pre> </dd> <dd> <p><strong>N.B:</strong> GlobalSpace renferme �galement des op�rateurs de port�e globale, tels -celui permettant d'aditionner deux Qt::Point(). Ces op�rateurs seront appel�s +celui permettant d'aditionner deux TQt::Point(). Ces op�rateurs seront appel�s automatiquement.</p> </dd> <dd> @@ -958,20 +958,20 @@ automatiquement.</p> </dd> <dd> <pre> - $p1 = Qt::Point(10, 10) + Qt::Point(20, 20)</pre> + $p1 = TQt::Point(10, 10) + TQt::Point(20, 20)</pre> </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="annexe_2_:_internationalisation">Annexe 2 : Internationalisation</a></h1> -<p>PerlQt r�sout les probl�mes d'internationalisation en convertissant syst�matiquement les <strong>QString</strong> -de Qt en <strong>utf8</strong> c�t� Perl.</p> -<p>Les conversions en sens inverse, depuis Perl vers Qt sont trait�es diff�remment suivant le contexte :</p> +<p>PerlTQt r�sout les probl�mes d'internationalisation en convertissant syst�matiquement les <strong>TQString</strong> +de TQt en <strong>utf8</strong> c�t� Perl.</p> +<p>Les conversions en sens inverse, depuis Perl vers TQt sont trait�es diff�remment suivant le contexte :</p> <ul> <li><strong><a name="item_si_la_cha�ne_de_caract�re_est_d�j�_marqu�e_comme_�">Si la cha�ne de caract�re est d�j� marqu�e comme �tant utf8</a></strong><br /> </li> -alors elle sera convertie en QString directement. +alors elle sera convertie en TQString directement. <p>C'est la mani�re privil�gi�e d'op�rer, et la plus simple : Il vous suffit d'ins�rer un pragma <strong>use utf8</strong> en t�te de vos programmes, puis d'utiliser un �diteur de texte supportant l'utf8 (quasiment tous de nos jours) pour �laborer votre code source. @@ -979,21 +979,21 @@ Les cha�nes seront marqu�es par Perl automatiquement.</p> <p></p> <li><strong><a name="item_si_la_cha�ne_n%27est_pas_marqu�e_comme_utf8%2c_et_">Si la cha�ne n'est pas marqu�e comme utf8, et le pragma 'use locale' n'est pas actif</a></strong><br /> </li> -alors la conversion en QString se fera depuis l'<strong>ISO-Latin-1</strong>. +alors la conversion en TQString se fera depuis l'<strong>ISO-Latin-1</strong>. <p></p> <li><strong>Si la cha�ne n'est pas marqu�e comme utf8, et le pragma 'use locale' est actif</strong><br /> </li> -alors la conversion en QString se fera depuis votre <strong>locale</strong>. +alors la conversion en TQString se fera depuis votre <strong>locale</strong>. <p></p></ul> <p>Lorsque des cha�nes contiennent de l'utf8, Perl adapte automatiquement ses op�rateurs pour que leur gestion soit enti�rement transparente (comprendre opaque, comme toujours...). Cependant, vous pourrez avoir besoin � l'occasion de les transcrire en d'autres jeux d'encodage. -Ceci peut se faire soit avec Qt :</p> +Ceci peut se faire soit avec TQt :</p> <pre> - $tr1=Qt::TextCodec::codecForLocale(); # ceci utilisera la locale en vigueur - $tr2=Qt::TextCodec::codecForName("KOI8-R"); # ceci force l'emploi d'une locale sp�cifique (Russe)</pre> + $tr1=TQt::TextCodec::codecForLocale(); # ceci utilisera la locale en vigueur + $tr2=TQt::TextCodec::codecForName("KOI8-R"); # ceci force l'emploi d'une locale sp�cifique (Russe)</pre> <pre> - print $tr1->fromUnicode(Qt::DateTime::currentDateTime()->toString)."\n\n"; + print $tr1->fromUnicode(TQt::DateTime::currentDateTime()->toString)."\n\n"; print $tr2->fromUnicode($une_chaine_utf8);</pre> <p>Soit avec les outils de Perl (pour perl >= 5.8.0). Se reporter � ce sujet � la documentation du module <strong>Encode</strong> (<code>perldoc Encode</code>).</p> @@ -1003,7 +1003,7 @@ Se reporter � ce sujet � la documentation du module <strong>Encode</strong> (<co <p>Les programmeurs souhaitant d�sactiver temporairement l'encodage utf8 (pour la gestion de programmes externes ou de modules anciens ne supportant pas cet encodage) pourront utiliser le pragma <strong>use bytes</strong> (et sa r�ciproque : <strong>no bytes</strong>).</p> -<p>Dans la port�e de ce pragma, les conversions depuis QString vers les cha�nes Perl se feront en ISO-Latin1 +<p>Dans la port�e de ce pragma, les conversions depuis TQString vers les cha�nes Perl se feront en ISO-Latin1 (par d�faut) ou suivant la locale en vigueur (si <strong>use locale</strong> est actif).</p> <p>Notez bien qu'il est pr�f�rable de <em>ne pas utiliser ce pragma � la l�g�re</em>, en ce qu'il ruine totalement les efforts de standardisations autour d'utf8 entrepris depuis plusieurs ann�es d�j�. @@ -1012,13 +1012,13 @@ Il est tr�s pr�f�rable de corriger les programmes fautifs.</p> </p> <hr /> <h1><a name="annexe_3_:_canaux_de_d�boguage">Annexe 3 : Canaux de d�boguage</a></h1> -<p>Le module <strong>Qt::debug</strong> offre divers canaux de d�boguage permettant de filtrer +<p>Le module <strong>TQt::debug</strong> offre divers canaux de d�boguage permettant de filtrer le flux cons�quent d'informations disponibles pour l'adapter � vos besoins.</p> <pre> - use Qt::debug;</pre> + use TQt::debug;</pre> <pre> - use Qt::debug qw|calls autoload verbose|;</pre> -<p>Avec le pragma <code>use Qt::debug</code>, seuls les canaux <strong>verbose</strong> et <strong>ambiguous</strong> sont activ�s. + use TQt::debug qw|calls autoload verbose|;</pre> +<p>Avec le pragma <code>use TQt::debug</code>, seuls les canaux <strong>verbose</strong> et <strong>ambiguous</strong> sont activ�s. Si vous le faites suivre d'une liste pr�cise de canaux, seuls ceux-ci seront affich�s.</p> <p><strong>Liste et descriptif des canaux :</strong></p> <ul> @@ -1033,32 +1033,32 @@ Donner davantage d'informations. <p>Utilis� avec <strong>ambiguous</strong>, vous donnera les correspondances les plus proches lorsqu'un appel de m�thode �choue.</p> <p>ex:</p> <pre> - use Qt; - use Qt::debug; - $a= Qt::Application(\@ARGV); + use TQt; + use TQt::debug; + $a= TQt::Application(\@ARGV); $a->libraryPath("chose");</pre> <pre> --- No method to call for : - QApplication::libraryPath('chose') + TQApplication::libraryPath('chose') Closer candidates are : - static void QApplication::addLibraryPath(const QString&) - static QStringList QApplication::libraryPaths() - static void QApplication::removeLibraryPath(const QString&) - static void QApplication::setLibraryPaths(const QStringList&)</pre> + static void TQApplication::addLibraryPath(const TQString&) + static TQStringList TQApplication::libraryPaths() + static void TQApplication::removeLibraryPath(const TQString&) + static void TQApplication::setLibraryPaths(const TQStringList&)</pre> <p></p> <li><strong><a name="item_calls">calls</a></strong><br /> </li> -Pour chaque appel de m�thode, vous dira quelle m�thode Qt est finalement appel�e, +Pour chaque appel de m�thode, vous dira quelle m�thode TQt est finalement appel�e, en pr�cisant les arguments si <strong>verbose</strong> est actif. <p></p> <li><strong><a name="item_autoload">autoload</a></strong><br /> </li> -D�taille le passage dans le code interm�diaire faisant la jonction entre Perl et Qt. +D�taille le passage dans le code interm�diaire faisant la jonction entre Perl et TQt. <p></p> <li><strong><a name="item_gc">gc</a></strong><br /> </li> Donne des informations sur la collection des d�chets, c'est � dire sur la destruction des objets, -qu'ils soient d�truits depuis Perl ou Qt. +qu'ils soient d�truits depuis Perl ou TQt. <p></p> <li><strong><a name="item_virtual">virtual</a></strong><br /> </li> @@ -1074,46 +1074,46 @@ Activer tous les canaux. <hr /> <h1><a name="annexe_4_:_marshalleurs">Annexe 4 : Marshalleurs</a></h1> <p>Un marshalleur est un convertisseur permettant de transcrire un type de donn�es en un autre.</p> -<p>Dans PerlQt, la plupart des objets Qt gardent leurs propri�t�s d'objet, ce qui permet d'invoquer leurs m�thodes +<p>Dans PerlTQt, la plupart des objets TQt gardent leurs propri�t�s d'objet, ce qui permet d'invoquer leurs m�thodes et de changer leurs propri�t�s comme il se doit. Cependant, il arrive que l'objet d'origine corresponde � ce point � un type natif de Perl qu'il serait mals�ant d'utiliser l'interface C++ et beaucoup plus naturel de lui substituer son �quivalent.</p> <p>Ici interviennent les marshalleurs. -Plut�t que de retourner un objet Qt::StringList, qui serait d�licat � manipuler, -PerlQt le transformera en r�f�rence de liste Perl. +Plut�t que de retourner un objet TQt::StringList, qui serait d�licat � manipuler, +PerlTQt le transformera en r�f�rence de liste Perl. D�s lors, tous les op�rateurs de manipulation de liste pourront lui �tre appliqu� : on gagne en densit�, en coh�rence et en simplicit�.</p> <p>Cette transformation s'appliquera aussi en sens inverse, et n'importe quelle liste de cha�nes Perl -pourra �tre donn�e en argument � une m�thode attendant une Qt::StringList.</p> +pourra �tre donn�e en argument � une m�thode attendant une TQt::StringList.</p> <pre> - Liste des marshalleurs (PerlQt-3.008) + Liste des marshalleurs (PerlTQt-3.008) ----------------------------------------------------------------- float, double <=> r�el Perl (NV) char, uchar, int, uint, enum long, ulong, short, ushort <=> entier Perl (IV) - QString, -&, -* => cha�ne Perl (utf8) - QString, -&, -* <= cha�ne Perl (utf8 ou iso-latin1 ou locale) - QCString, -&, -* <=> cha�ne Perl (utf8 ou octets, suivant contenu ou pragma "bytes") - QStringList, -&, -* => r�f�rence � une liste de cha�nes Perl (utf8) - QByteArray, -&, -* <=> cha�ne Perl (octets) + TQString, -&, -* => cha�ne Perl (utf8) + TQString, -&, -* <= cha�ne Perl (utf8 ou iso-latin1 ou locale) + TQCString, -&, -* <=> cha�ne Perl (utf8 ou octets, suivant contenu ou pragma "bytes") + TQStringList, -&, -* => r�f�rence � une liste de cha�nes Perl (utf8) + TQByteArray, -&, -* <=> cha�ne Perl (octets) int&, -* <=> entier Perl (IV) bool&, -* <=> bool�en Perl char* <=> cha�ne Perl (octets) char** <= r�f�rence � une liste de cha�nes Perl (octets) uchar* <= cha�ne Perl(octets) - QRgb* <= r�f�rence � une liste d'entiers Perl (IV) - QCOORD* <= r�f�rence � une liste d'entiers Perl (IV) + TQRgb* <= r�f�rence � une liste d'entiers Perl (IV) + TQCOORD* <= r�f�rence � une liste d'entiers Perl (IV) void* <=> r�f�rence � un entier Perl (IV) - QValueList<int>, - *, - & <=> r�f�rence � une liste d'entiers Perl (IV) - QCanvasItemList, - *, - & => r�ference � une liste de Qt::CanvasItem - QWidgetList, - *, - & <=> r�ference � une liste de Qt::Widget - QObjectList, - *, - & <=> r�ference � une liste de Qt::Object - QFileInfoList, - *, - & <=> r�ference � une liste de Qt::FileInfo - QPtrList<QTab>, - *, - & <=> r�ference � une liste de Qt::Tab - QPtrList<QToolBar>, - *, - & <=> r�ference � une liste de Qt::ToolBar - QPtrList<QNetworkOperation>, - *, - & <=> r�ference � une liste de Qt::NetworkOperation - QPtrList<QDockWindow>, - *, - & <=> r�ference � une liste de Qt::DockWindow - (QUObject*)</pre> + TQValueList<int>, - *, - & <=> r�f�rence � une liste d'entiers Perl (IV) + TQCanvasItemList, - *, - & => r�ference � une liste de TQt::CanvasItem + TQWidgetList, - *, - & <=> r�ference � une liste de TQt::Widget + TQObjectList, - *, - & <=> r�ference � une liste de TQt::Object + TQFileInfoList, - *, - & <=> r�ference � une liste de TQt::FileInfo + TQPtrList<TQTab>, - *, - & <=> r�ference � une liste de TQt::Tab + TQPtrList<TQToolBar>, - *, - & <=> r�ference � une liste de TQt::ToolBar + TQPtrList<TQNetworkOperation>, - *, - & <=> r�ference � une liste de TQt::NetworkOperation + TQPtrList<TQDockWindow>, - *, - & <=> r�ference � une liste de TQt::DockWindow + (TQUObject*)</pre> </body> |