# Interfaces Utilisateur Graphiques avec Tk

Tk/Tcl has long been an integral part of Python. It provides a robust and platform independent windowing toolkit, that is available to Python programmers using the `tkinter` package, and its extension, the `tkinter.ttk` module.

The `tkinter` package is a thin object-oriented layer on top of Tcl/Tk. To use `tkinter`, you don't need to write Tcl code, but you will need to consult the Tk documentation, and occasionally the Tcl documentation. `tkinter` is a set of wrappers that implement the Tk widgets as Python classes.

`tkinter`'s chief virtues are that it is fast, and that it usually comes bundled with Python. Although its standard documentation is weak, good material is available, which includes: references, tutorials, a book and others. `tkinter` is also famous for having an outdated look and feel, which has been vastly improved in Tk 8.5. Nevertheless, there are many other GUI libraries that you could be interested in. The Python wiki lists several alternative GUI frameworks and tools.

- `tkinter` --- Python interface to Tcl/Tk
  - Architecture
  - Modules Tkinter
  - Guide de survie Tkinter
    - Un simple programme Hello World
    - Concepts importants de Tk
    - Comprendre comment Tkinter enveloppe Tcl/Tk
    - Comment puis-je… ? Quelle option… ?
    - Navigation dans le manuel de référence Tcl/Tk
  - Fils d'exécution multiples
  - Guide pratique
    - Définition des options
    - L'empaqueteur
    - Options de l'empaqueteur
    - Association des variables de l'objet graphique
    - Le gestionnaire de fenêtres
    - Types de données des options Tk
    - Liaisons et événements
    - Le paramètre index
    - Images
  - Gestionnaires de fichiers
- `tkinter.colorchooser` --- Color choosing dialog
- `tkinter.font` --- Tkinter font wrapper
- Boîtes de dialogue Tkinter
  - `tkinter.simpledialog` – Boîtes de dialogue de saisie standard de Tkinter
  - `tkinter.filedialog` – Boîtes de dialogue de sélection de fichiers
    - Boîtes de dialogue de chargement et sauvegarde natives
  - `tkinter.commondialog` – Modèles de fenêtre de dialogue
- `tkinter.messagebox` --- Tkinter message prompts
- `tkinter.scrolledtext` --- Scrolled Text Widget
- `tkinter.dnd` --- Drag and drop support
- `tkinter.ttk` --- Tk themed widgets
  - Utilisation de Ttk
  - Widgets Ttk
  - Widget
    - Options standards
    - Options de widget avec barre de défilement
    - Options d'étiquette (label)
    - Options de compatibilité
    - États des widgets
    - ttk.Widget
  - Combobox
    - Options
    - Événements virtuels
    - ttk.Combobox
  - Spinbox
    - Options
    - Événements virtuels
    - ttk.Spinbox
  - Carnet de notes (notebook)
    - Options
    - Options d'onglet
    - Identifiants d'onglet
    - Événements virtuels
    - ttk.Notebook
  - Barre de progression
    - Options
    - ttk.Progressbar
  - Séparateur
    - Options
  - Poignée de redimensionnement
    - Notes spécifiques à une plateforme
    - Bogues
  - Arborescence
    - Options
    - Options d'éléments
    - Options de balise
    - Identifiants de colonnes
    - Événements virtuels
    - ttk.Treeview
  - Style Ttk
    - Dispositions de mise en page
- IDLE
  - Menus
    - Menu File (Console et Éditeur)
    - Menu Edit (console et éditeur)
    - Menu Format (fenêtre d'édition uniquement)
    - Menu Run (fenêtre d'édition uniquement)
    - Menu Shell (fenêtre de console uniquement)
    - Menu Debug (fenêtre de console uniquement)
    - Menu Options (console et éditeur)
    - Menu Windows (console et éditeur)
    - Menu Help (console et éditeur)
    - Context menus
  - Editing and Navigation
    - Fenêtre d'édition
    - Raccourcis clavier
    - Indentation automatique
    - Search and Replace
    - Complétions
    - Info-bulles
    - Contexte du code
    - Shell window
    - Coloration du texte
  - Startup and Code Execution
    - Utilisation de la ligne de commande
    - Échec au démarrage
    - Exécuter le code de l'utilisateur
    - Sortie de l'utilisateur sur la console
    - Développer des applications tkinter
    - Exécution sans sous-processus
  - Help and Preferences
    - Sources d'aide
    - Modifier les préférences
    - IDLE sous macOS
    - Extensions
  - idlelib