# `tkinter.tix` — Widgets d'extension pour Tk

Code source : Lib/tkinter/tix.py

Obsolète depuis la version 3.6: cette extension Tk n'est pas maintenue et ne doit pas être utilisée dans le nouveau code. Utilisez `tkinter.ttk` à la place.

Le module `tkinter.tix` (Tk Interface Extension) fournit un riche ensemble supplémentaire de widgets. Bien que la bibliothèque Tk standard contienne de nombreux widgets utiles, ils sont loin d'être complets. La bibliothèque `tkinter.tix` fournit la plupart des widgets couramment nécessaires qui manquent dans Tk standard : `HList`, `ComboBox`, `Control` (alias SpinBox) et un assortiment de widgets déroulants. `tkinter.tix` comprend également de nombreux autres widgets qui sont généralement utiles dans un large éventail d'applications : `NoteBook`, `FileEntry`, `PanedWindow`, etc. il y en a plus de 40.

Avec tous ces nouveaux widgets, vous pouvez introduire de nouvelles techniques d'interaction dans les applications, créant ainsi des interfaces utilisateur plus utiles et plus intuitives. Vous pouvez concevoir votre application en choisissant les widgets les plus appropriés pour répondre aux besoins particuliers de votre application et des utilisateurs.

Voir aussi

Page d'accueil de Tix

  La page d'accueil de `Tix` (en anglais). Cela inclut des liens vers de la documentation supplémentaire et des téléchargements.

Tix Man Pages

  Version en ligne des pages de manuel et du manuel de référence (en anglais).

Guide de programmation Tix

  Version en ligne du manuel de référence du programmeur (en anglais).

Applications pour le développement Tix

  Applications Tix pour le développement de programmes Tix et Tkinter. Les applications Tide fonctionnent sous Tk ou Tkinter, et incluent TixInspect, un inspecteur pour modifier et déboguer à distance les applications Tix/Tk/Tkinter.

## Utilisation de Tix

class tkinter.tix.Tk(screenName=None, baseName=None, className='Tix')

  Widget de niveau supérieur de Tix qui représente principalement la fenêtre principale d'une application. Il a un interpréteur Tcl associé.

  Les classes du module `tkinter.tix` sous-classent les classes du module `tkinter`. Le premier importe le second, donc pour utiliser `tkinter.tix` avec Tkinter, il vous suffit d'importer un module. En général, vous pouvez simplement importer `tkinter.tix` et remplacer l'appel de niveau supérieur à `tkinter.Tk` par `tix.Tk` :

      from tkinter import tix
      from tkinter.constants import *
      root = tix.Tk()

Pour utiliser `tkinter.tix`, vous devez avoir installé les widgets Tix, généralement en même temps que votre installation des widgets Tk. Pour tester votre installation, essayez ce qui suit : :

    from tkinter import tix
    root = tix.Tk()
    root.tk.eval('package require Tix')

## Widgets Tix

Tix introduit plus de 40 classes de widgets dans le répertoire `tkinter`.

### Widgets de base

class tkinter.tix.Balloon

  Une bulle qui apparaît sur un widget pour fournir de l'aide. Lorsque l'utilisateur déplace le curseur à l'intérieur d'un widget auquel un widget Ballon a été lié, une petite fenêtre contextuelle avec un message descriptif s'affiche à l'écran.

class tkinter.tix.ButtonBox

  Le widget ButtonBox crée une boîte de boutons, telle qu'elle est couramment utilisée pour `Ok Cancel`.

class tkinter.tix.ComboBox

  Le widget ComboBox est similaire au contrôle de zone de liste déroulante dans Windows. L'utilisateur peut sélectionner un choix en tapant dans le sous-widget d'entrée ou en sélectionnant dans le sous-widget de la liste déroulante.

class tkinter.tix.Control

  Le widget Control est également connu sous le nom de widget `SpinBox`. L'utilisateur peut ajuster la valeur en appuyant sur les deux boutons fléchés ou en saisissant la valeur directement dans l'entrée. La nouvelle valeur sera comparée aux limites supérieures et inférieures définies par l'utilisateur.

class tkinter.tix.LabelEntry

  Le widget LabelEntry regroupe un widget d'entrée et une étiquette dans un méga widget. Il peut être utilisé pour simplifier la création d'interfaces de type "formulaire de saisie".

class tkinter.tix.LabelFrame

  Le widget LabelFrame regroupe un widget cadre et une étiquette dans un méga widget. Pour créer des widgets à l'intérieur d'un widget LabelFrame, on crée les nouveaux widgets relatifs au sous-widget `frame` et on les gère à l'intérieur du sous-widget `frame`.

class tkinter.tix.Meter

  Le widget Meter peut être utilisé pour afficher la progression d'une tâche en arrière-plan qui peut prendre beaucoup de temps à s'exécuter .

class tkinter.tix.OptionMenu

  Le widget OptionMenu crée un bouton de menu d'options.

class tkinter.tix.PopupMenu

  Le widget PopupMenu peut être utilisé en remplacement de la commande `tk_popup`. L'avantage du widget `Tix` `PopupMenu` est qu'il nécessite moins de manipulation de code dans l'application.

class tkinter.tix.Select

  Le widget Select est un conteneur de sous-widgets de bouton. Il peut être utilisé pour afficher des boutons radio ou des cases à cocher.

class tkinter.tix.StdButtonBox

  Le widget StdButtonBox est un groupe de boutons standard pour afficher des boîtes de dialogue similaires à celle de la bibliothèque graphique Motif.

### Sélecteurs de fichiers

class tkinter.tix.DirList

  Le widget DirList affiche une liste d'un répertoire, de ses répertoires précédents et de ses sous-répertoires. L'utilisateur peut choisir l'un des répertoires affichés dans la liste ou passer à un autre répertoire.

class tkinter.tix.DirTree

  Le widget DirTree affiche une arborescence d'un répertoire, de ses répertoires précédents et de ses sous-répertoires. L'utilisateur peut choisir l'un des répertoires affichés dans la liste ou passer à un autre répertoire.

class tkinter.tix.DirSelectDialog

  Le widget DirSelectDialog présente les répertoires du système de fichiers dans une fenêtre de dialogue. L'utilisateur peut utiliser cette fenêtre de dialogue pour naviguer dans le système de fichiers afin de sélectionner le répertoire souhaité.

class tkinter.tix.DirSelectBox

  Le widget `DirSelectBox` est similaire à la boîte de sélection de répertoire Motif(TM) standard. Il est généralement utilisé pour que l'utilisateur choisisse un répertoire. DirSelectBox stocke les répertoires les plus récemment sélectionnés dans un widget ComboBox afin qu'ils puissent être rapidement sélectionnés à nouveau.

class tkinter.tix.ExFileSelectBox

  Le widget ExFileSelectBox est généralement intégré dans un widget tixExFileSelectDialog. Il fournit à l'utilisateur une méthode pratique pour sélectionner des fichiers. Le style du widget `ExFileSelectBox` est très similaire à la boîte de dialogue de fichier standard sur MS Windows 3.1.

class tkinter.tix.FileSelectBox

  Le widget FileSelectBox est similaire à la boîte de sélection de fichiers Motif(TM) standard. Il est généralement utilisé pour que l'utilisateur choisisse un fichier. FileSelectBox stocke les fichiers les plus récemment sélectionnés dans un widget `ComboBox` afin qu'ils puissent être rapidement sélectionnés à nouveau.

class tkinter.tix.FileEntry

  Le widget FileEntry peut être utilisé pour saisir un nom de fichier. L'utilisateur peut saisir manuellement le nom du fichier. Alternativement, l'utilisateur peut appuyer sur le widget de bouton qui se trouve à côté de l'entrée, ce qui fera apparaître une boîte de dialogue de sélection de fichier.

### ListBox hiérarchique

class tkinter.tix.HList

  Le widget HList peut être utilisé pour afficher toutes les données qui ont une structure hiérarchique, par exemple, l'arborescence du système de fichiers. Les entrées de la liste sont mises en retrait et reliées par des lignes secondaires en fonction de leur place dans la hiérarchie.

class tkinter.tix.CheckList

  Le widget CheckList affiche une liste d'éléments à sélectionner par l'utilisateur. CheckList agit de la même manière que les widgets checkbutton ou radiobutton de Tk, sauf qu'il est capable de gérer beaucoup plus d'éléments que les checkbuttons ou les radiobuttons.

class tkinter.tix.Tree

  Le widget Tree peut être utilisé pour afficher des données hiérarchiques sous forme d'arborescence. L'utilisateur peut ajuster la vue de l'arborescence en ouvrant ou en fermant des parties de l'arborescence.

### ListBox tabulaire

class tkinter.tix.TList

  Le widget TList peut être utilisé pour afficher des données sous forme de tableau. Les entrées de liste d'un widget `TList` sont similaires aux entrées du widget listbox Tk. Les principales différences sont (1) le widget `TList` peut afficher les entrées de la liste dans un format bidimensionnel et (2) vous pouvez utiliser des images graphiques ainsi que plusieurs couleurs et polices pour les entrées de la liste.

### Gestionnaire de widgets

class tkinter.tix.PanedWindow

  Le widget PanedWindow permet à l'utilisateur de manipuler de manière interactive la taille de plusieurs volets. Les volets peuvent être disposés verticalement ou horizontalement. L'utilisateur modifie la taille des volets en faisant glisser la poignée de redimensionnement entre deux volets.

class tkinter.tix.ListNoteBook

  Le widget ListNoteBook est très similaire au widget `TixNoteBook` : il peut être utilisé pour afficher de nombreuses fenêtres dans un espace limité en utilisant une métaphore de bloc-notes. Le bloc-notes est divisé en une pile de pages (fenêtres). Une seule de ces pages peut être affichée à la fois. L'utilisateur peut naviguer dans ces pages en choisissant le nom de la page souhaitée dans le sous-widget `hlist`.

class tkinter.tix.NoteBook

  Le widget NoteBook peut être utilisé pour afficher de nombreuses fenêtres dans un espace limité en utilisant une métaphore de bloc-notes. Le bloc-notes est divisé en une pile de pages. Une seule de ces pages peut être affichée à la fois. L'utilisateur peut naviguer dans ces pages en choisissant les « onglets » visuels en haut du widget NoteBook.

### Types d'images

Le module `tkinter.tix` ajoute :

- les capacités pixmap pour tous les widgets `tkinter.tix` et `tkinter` afin de créer des images couleurs à partir de fichiers XPM ;

- les types d'images Compound peuvent être utilisés pour créer des images composées de plusieurs lignes horizontales ; chaque ligne est composée d'une suite d'éléments (textes, bitmaps, images ou espaces) disposés de gauche à droite. Par exemple, une image composée peut être utilisée pour afficher simultanément un bitmap et une chaîne de texte dans un widget Tk `Button`.

### Widgets divers

class tkinter.tix.InputOnly

  Les widgets InputOnly acceptent les entrées de l'utilisateur, ce qui peut être fait avec la commande `bind` (Unix uniquement).

### Gestionnaire de forme de formulaire

De plus, `tkinter.tix` étend `tkinter` en fournissant :

class tkinter.tix.Form

  Le gestionnaire de géométrie Form basé sur les règles de connexions pour tous les widgets Tk.

## Commandes Tix

class tkinter.tix.tixCommand

  Les commandes tix permettent d'accéder à divers éléments de l'état interne de `Tix` et du contexte d'application `Tix`. La plupart des informations manipulées par ces méthodes concernent l'application dans son ensemble, ou un écran ou un affichage, plutôt qu'une fenêtre particulière.

  Pour afficher les paramètres actuels, l'utilisation courante est :

      from tkinter import tix
      root = tix.Tk()
      print(root.tix_configure())

tixCommand.tix_configure(cnf=None, **kw)

  Interroge ou modifie les options de configuration du contexte applicatif Tix. Si aucune option n'est spécifiée, renvoie un dictionnaire de toutes les options disponibles. Si l'option est spécifiée sans valeur, alors la méthode renvoie une liste décrivant l'option nommée (cette liste sera identique à la sous-liste correspondante de la valeur renvoyée si aucune option n'est spécifiée). Si une ou plusieurs paires option-valeur sont spécifiées, alors la méthode modifie la ou les options données pour avoir la ou les valeurs données ; dans ce cas, la méthode renvoie une chaîne vide. L'option peut être n'importe laquelle des options de configuration.

tixCommand.tix_cget(option)

  Renvoie la valeur actuelle de l'option de configuration donnée par option. L'option peut être n'importe laquelle des options de configuration.

tixCommand.tix_getbitmap(name)

  Cherche un fichier bitmap du nom `name.xpm` ou `name` dans l'un des répertoires bitmap (voir la méthode `tix_addbitmapdir()`). En utilisant `tix_getbitmap()`, vous pouvez éviter de coder en dur les noms de chemin des fichiers bitmap dans votre application. En cas de succès, il renvoie le chemin d'accès complet du fichier bitmap, préfixé par le caractère `@`. La valeur renvoyée peut être utilisée pour configurer l'option `bitmap` des widgets Tk et Tix.

tixCommand.tix_addbitmapdir(directory)

  Tix maintient une liste de répertoires dans lesquels les méthodes `tix_getimage()` et `tix_getbitmap()` recherchent les fichiers images. Le répertoire bitmap standard est `$TIX_LIBRARY/bitmaps`. La méthode `tix_addbitmapdir()` ajoute directory dans cette liste. En utilisant cette méthode, les fichiers images d'une application peuvent également être localisés en utilisant la méthode `tix_getimage()` ou `tix_getbitmap()`.

tixCommand.tix_filedialog([dlgclass])

  Renvoie la boîte de dialogue de sélection de fichier qui peut être partagée entre différents appels de cette application. Cette méthode crée un widget de dialogue de sélection de fichier lors de son premier appel. Cette boîte de dialogue est renvoyée par tous les appels ultérieurs à `tix_filedialog()`. Un paramètre facultatif dlgclass peut être passé sous forme de chaîne pour spécifier le type de widget de dialogue de sélection de fichier souhaité. Les options possibles sont `tix`, `FileSelectDialog` ou `tixExFileSelectDialog`.

tixCommand.tix_getimage(self, name)

  Localise un fichier image du nom `name.xpm`, `name.xbm` ou `name.ppm` dans l'un des répertoires bitmap (voir la méthode `tix_addbitmapdir()` ci-dessus). S'il existe plusieurs fichiers portant le même nom (mais avec des extensions différentes), le type d'image est choisi en fonction de la profondeur de l'affichage X : les images xbm sont choisies sur les écrans monochromes et les images couleurs sont choisies sur les écrans couleurs. En utilisant `tix_getimage()`, vous pouvez éviter de coder en dur les noms de chemin des fichiers image dans votre application. En cas de succès, cette méthode renvoie le nom de l'image nouvellement créée, qui peut être utilisée pour configurer l'option `image` des widgets Tk et Tix.

tixCommand.tix_option_get(name)

  Obtient les options maintenues par le mécanisme de schéma Tix.

tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])

  Réinitialise le schéma et le jeu de polices de l'application Tix sur newScheme et newFontSet, respectivement. Cela n'affecte que les widgets créés après cet appel. Par conséquent, il est préférable d'appeler la méthode resetoptions avant la création de tout widget dans une application Tix.

  Le paramètre facultatif newScmPrio peut être donné pour réinitialiser le niveau de priorité des options Tk définies par les schémas Tix.

  En raison de la façon dont Tk gère la base de données d'options X, après l'importation et l'initialisation de Tix, il n'est pas possible de réinitialiser les schémas de couleurs et les jeux de polices à l'aide de la méthode `tix_config()`. À la place, la méthode `tix_resetoptions()` doit être utilisée.