Comment puis-je améliorer l'apparence de l'interface graphique Perl / TK sous Perl 5.004?

StackOverflow https://stackoverflow.com/questions/611111

Question

J'ai une application conçue pour fonctionner sous Windows, Linux et Solaris qui utilise l'interface graphique Perl / TK . En raison de contraintes, nous sommes limités à Perl / TK uniquement . De plus, nous sommes limités à une ancienne version Perl / Tk , 5.00404 .

J'aimerais travailler dans ces limites pour que l'interface graphique soit aussi belle et moderne que possible.

Existe-t-il des ressources Web dotées de schémas de conception de savoirs traditionnels (boutons, cadres, couleurs, etc.) qui pourraient m'aider dans cette entreprise?

Je recherche également des conseils de modernisation, tels que celui que j'ai trouvé ici :

  

Si vous constatez que vos applications Tk ont ??un aspect un peu laid sur des systèmes X, essayez d'ajouter les lignes suivantes en haut de votre script:

$mw->optionAdd("*font", "-*-arial-normal-r-*-*-*-120-*-*-*-*-*-*");
$mw->optionAdd("*borderWidth", 1);
Était-ce utile?

La solution

Essayez d’utiliser des images au lieu d’éléments de boutons, vous pouvez avoir le style de votre choix et les polices peuvent être intégrées. Cela fonctionnera pour à peu près tous les éléments dont le contenu n’est pas dynamique, y compris les arrière-plans des volets. Certes, cela demande plus de travail mais cela résout votre problème, surtout si vous avez un artiste compétent dans votre groupe de projet.

Autres conseils

Vous pouvez utiliser le moteur de thème Tk pour donner à votre app mieux regarde.

Utilisation d’optionAdd pour modifier les valeurs par défaut via la base de données d’options est un début raisonnable. Vous pouvez trouver un fil à ce sujet sur:

http://tcl.projectforum.com/tk/221

Téléchargez griffin.kit à partir de là, utilisez l’outil sdx pour le dérouler et localiser griffin.tcl pour obtenir un bon jeu de paramètres d’option.

http://wiki.tcl.tk/3411 pour l'outil sdx.

Etant donné que sous Linux, l’arrière-plan de Tk :: Entry et de Tk :: Text est gris, j’utiliserais également les deux lignes suivantes.

$mw->optionAdd( '*Entry.background',   'snow1' );
$mw->optionAdd( '*Text.background',    'snow1' );

Remplacez "snow1" par une couleur de votre choix. Vous pouvez également utiliser la représentation hexadécimale (RVB) des couleurs telles que '# ff9696'.

Le moteur Tile modulable pour Tk le rend beaucoup plus joli. Cependant, Perl / Tk a pris beaucoup de retard par rapport au développement de Tk et ne peut tirer parti des technologies Tile et autres avancées.

Vous devez rechercher si Tkx est une option pour vous. Ce n'est pas complètement compatible avec Perl / Tk, mais l'API est assez proche. C'est un pont entre Perl et Tcl / Tk, de sorte qu'il peut utiliser toutes les fonctionnalités modernes de Tcl / Tk (comme Tile) tout en conservant une logique d'application codée en Perl. De nombreux utilitaires graphiques propres à ActiveState utilisent Tkx, avec des résultats plutôt beaux.
ActiveState PPM
(source: activestate.com )

Perl 5.00404 est incroyablement ancien, cependant. La distribution Tkx prétend dépendre de Perl & # 8805; 5.008 ... Je n'ai pas Perl assez âgé pour voir à quel point c'est exact.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top