Tk (informatique) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Tk
Tcl.svg
Développeurs Tcl Core Team et al.
Dernière version [+/-]
Environnement Multiplate-forme
Type Bibliothèque d'interface graphique
Licence BSD
Site Web http://www.tcl.tk/

Tk est une bibliothèque d'interfaces graphiques flexible, facile à apprendre, multiplate-forme et extensible. Conçu à l'origine pour un langage de script inventé par John Ousterhout et connu sous le nom de Tcl, il s'interface aujourd'hui avec d'autres langages tels que Perl, Python, Ruby, Lua, Common Lisp, REXX, Ada, Prolog, OCaml, R ou APL.

Tk existe aussi pour les navigateurs web sous la forme d'un plugin, Tcl plugin, qui permet d'exécuter des tclets (applets écrits en Tcl-Tk).

Les widgets

Tk propose nativement une collection de composants d'interface graphique (widgets) :

  • button (bouton poussoir)
  • checkbutton (case à cocher)
  • radiobutton (bouton radio)
  • label (étiquette)
  • entry (champ de texte en entrée)
  • listbox (liste défilante)
  • tk_optionMenu (liste)
  • menu (menu déroulant)
  • menubutton (menu déroulant à partir d'un bouton)
  • scale (curseur horizontal et vertical)
  • spinbox (zone de sélection numérique)
  • frame (cadre)
  • labelframe (cadre avec titre)
  • scrollbar (barre de défilement)
  • panedwindow (panneau coulissant)
  • text (conteneur hypertexte évolué)
  • canvas (conteneur d'objets graphiques 2D évolué)
  • tk_chooseColor (sélecteur de couleur)
  • tk_chooseDirectory (sélecteur de répertoire)
  • tk_dialog (boîte de dialogue modale)
  • tk_getOpenFile (sélecteur de fichier)
  • tk_messageBox (boîte de message)
  • tk_popup (menu contextuel)

Chaque widget possède des propriétés modifiables selon le type (taille, relief, couleur, contenu, état, événement).

Gestion des événements

À la différence d'un programme en ligne de commande où l'interaction avec l'utilisateur est séquentielle, l'interface graphique fait intervenir la notion de programmation événementielle avec une autre logique. À tout moment, chaque widget est susceptible d'être affecté par l'action de l'utilisateur (l'événement). Il existe des événements simples (clic de souris sur un bouton, saisie au clavier dans un champ) et des événements plus complexes (navigation dans un menu ou une liste déroulante).

À chaque widget est attaché par défaut un certain nombre de réponses automatiques à des événements. Celles-ci correspondent à une gestion des événements de bas niveau où le programmeur n'a que très peu à intervenir. Une boucle événementielle les prend en charge et les répartit.

Ensuite, par l'intermédiaire de l'option -command, on peut lier un widget à un appel de procédure ou une commande extérieure (callback). Si l'on souhaite associer à un widget une réponse particulière non définie par défaut, Tcl-Tk dispose d'un mécanisme très flexible grâce à la commande bind.

Gestion de la géométrie

Pour contrôler la dimension et agencer graphiquement les widgets, il existe trois gestionnaires de géométrie :

  • grid (dispose les widget selon une grille)
  • pack (empile ou dispose côte-à-côte les widgets selon un ordre relatif)
  • place (dispose les widgets de manière absolue)

Tant qu’un widget n’est pas associé à un gestionnaire de géométrie, il n’apparaît pas à l'écran.

Page générée en 0.022 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise