Introduction à Perl/Tk

Interfaces graphiques avec Perl


précédentsommairesuivant

XVIII. Différences entre systèmes d'exploitation

Au départ, Perl a été écrit pour des systèmes Unix et le module Tk a été conçu pour le système X Window, l'interface graphique d'Unix. Depuis, le langage a été porté sur de nombreuses autres plates-formes, dont Macintosh et Windows (95/98 et NT) et il en est de même pour le module Tk, bien que cela ait été plus lent. Désormais, Perl existe sur toutes les plates-formes et Perl/Tk est disponible pour le système X Window (qui peut être émulé ou exécuté sur de nombreux systèmes différents) et pour Windows.

Perl/Tk fonctionne quasiment de la même façon sur un système X Window Unix et sur Windows. La plupart des différences viennent du fait que Windows ne dispose pas de toutes les fonctions du système X Window. Tout au long de ce livre, vous avez pu noter que certaines méthodes ne fonctionnaient pas avec Windows, ou qu'elles avaient un comportement différent. Je ne reviendrai pas sur ces différences mineures. Une des différences les plus importantes entre Unix et Windows vient de la façon dont ces systèmes désignent les polices de caractères. L'annexe C, Fontes, détaille les spécifications de ces polices, consultez-la pour savoir comment les manipuler sous Unix et Windows.

XVIII-A. Unix

Toutes les méthodes décrites dans ce livre fonctionnent correctement sur les systèmes Unix. On peut rencontrer quelques différences subtiles entre les différentes déclinaisons de ce système (comme le type de valeur obtenue sur une machine Solaris et sur une machine Linux, par exemple), mais aucune n'avortera votre programme.

Toutes les captures d'écran de ce livre, sauf celles explicitement notées, ont été faites sur un système FreeBSD utilisant le système X Window avec des fenêtres de type NeXTStep. Le gestionnaire de fenêtres utilisé est Window Maker, qui produit un environnement graphique similaire aux machines NeXT. Je ne traiterai pas des différences entre les différents gestionnaires de fenêtres et de la façon dont ils modifient l'aspect de votre environnement graphique. De nombreux ouvrages traitent du système X Window et de ses gestionnaires de fenêtres.

XVIII-B. Windows NT et 95/98

Lorsque l'on crée une fenêtre Perl/Tk sous Windows NT ou Windows 95/98, elle ressemble à toutes les autres fenêtres de ces systèmes. Ainsi, elles auront une petite croix dans leur coin supérieur droit qui permettra de tuer l'application. À la gauche de celle-ci se trouvera un petit bouton permettant de maximiser la fenêtre et, à la gauche de celui-ci, un autre bouton permettant de la mettre sous forme d'icône. Le coin supérieur gauche de l'application comportera un petit « Tk » qui, s'il est cliqué, affichera un menu vous permettant de la minimiser, la maximiser ou la fermer. Toutes ces fonctionnalités sont caractéristiques d'une fenêtre Windows ; elles existent également dans les versions X Window de ces applications, mais apparaissent différemment, comme le montre la figure B.1.

Image non disponible
Figure B.1 : Une fenêtre Win32 et une fenêtre X Window

XVIII-B-1. Problèmes avec Windows 95

J'ai testé les codes de ce livre sur une machine Windows 95 et NT 4.0 (Service Pack 3) et ai constaté quelques problèmes mineurs avec les applications sous Windows 95. Windows NT ne semble pas souffrir de ces problèmes et, si je devais choisir entre les deux, je développerais et exécuterais mes applications Perl/Tk sous Windows NT. Voici une liste de quelques-uns des problèmes que j'ai pu rencontrer en testant mes applications Perl/Tk avec Windows 95 (elles ne sont pas nécessairement reproductibles à chaque fois ; je veux simplement vous mettre en garde) :

  • création d'une fenêtre principale ne contenant qu'un bouton, modification de sa taille : impossibilité de cliquer sur le bouton ;
  • même scénario que le précédent ; un clic en n'importe quel endroit de la fenêtre après la modification de sa taille a pour effet de presser le bouton ;
  • parcours de plusieurs applications à l'aide de la touche de tabulation, clic dans une autre application et retour à l'application Tk : elle ne reconnaît plus la souris. Un clic sur l'icône de l'application dans la barre des tâches semble régler le problème (il ne semble pas y avoir de cause, ni d'effet reproductible efficace pour la perte de la reconnaissance de la souris) ;
  • l'option -underline ne semble pas fonctionner correctement lorsque l'on essaie de souligner une lettre d'une entrée d'un menu, ce qui fait que la touche correspondante ne peut être utilisée comme raccourci clavier ;
  • certaines méthodes (vous n'utiliserez pas la plupart d'entre elles, car elles sont obscures) ne renvoient pas une valeur correcte. Elles ont été mentionnées comme telles lors de leur étude dans ce livre ;
  • on clique dans un widget texte pour lui donner le focus clavier, puis on clique ailleurs : le widget texte n'abandonne pas le focus. On peut utiliser la combinaison 'Maj-Tab' pour passer en revue les widgets de la fenêtre lorsqu'elle a le focus, mais elle ne semble pas pour autant abandonner celui-ci (le point reste sous la forme d'une barre verticale, et l'on ne peut interagir avec le bouton) ;
  • affichage d'une photo dans un bouton (avec l'option -image), celle-ci ne ressort pas correctement ;
  • à part ces problèmes mineurs, qui ne se poseront probablement pas pour une application classique, tout fonctionne correctement.

XVIII-B-2. Sélections

Avec le système X Window, pour sélectionner du texte, il suffit de le mettre en surbrillance. Avec Windows, il faut le mettre en évidence, puis le placer dans le presse-papiers avec 'Ctrl-C' (pour Copie), et le coller avec 'Ctrl-V' (pour Vers), ou son équivalent pour l'application en cours. Plusieurs widgets disposent de l'option -exportselection (les boîtes de liste et de texte, par exemple) et fonctionnent comme nous venons de le décrire ; cependant, si cette option vaut 0, le texte sélectionné ne sera pas copié dans le presse-papiers.


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Licence Creative Commons
Le contenu de cet article est rédigé par Nancy Walsh et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2018 Developpez.com.