Doc tkinter (ébauche brute...)
Brève intro
tkinter est un module python écrit pour développer des interfaces graphiques. C'est un implémentation de l'interface plus générale Tk (développée au départ pour le langage tcl). L'évolution actuelle de Tk préconise d'utiliser le sous module tkinter.ttk pour pouvoir utiliser des widgets avec thème et style (themed widgets) pour donner un aspect visuel plus moderne. On peut comparer les "themed widgets" à une page web mise en forme avec un fichier css. Il est possible d'utiliser en parallèle les widgets "classiques" de tkinter et les "modernes" de ttk (attention dans ce cas à l'espace des noms. Par défaut, ttk supplante les widgets classiques).
Doc complète (liens externes)
Voici des docs vraiment utiles et parfois complètes et complexes :
- TKinter pour ISN - Étienne FLORENT : SUPER doc en français, traduction (partielle, ne contient pas les themed widgets ttk) d'une doc plus complète encore en Anglais.
- TKinter pour ISN - Étienne FLORENT - version allégée : C'est la même doc que j'ai un peu allégée (de façon assez arbitraire...). Je pense que pour la plupart des projets, cette version un peu light suffit largement, mais bien entendu, la référence intégrale ci-dessus reste la source complète et pourrait se révéler utile parfois !
- Tkinter 8.5 reference: a GUI for Python : La doc source précédente (en Anglais, donc) : contient tout ! donc c'est un peu long...(version pdf)
- Documentation Tk : Anglais. C'est la doc de Tk, donc très bien aussi pour comprendre la philosophie de Tk et et son utilisation avec d'autres langages (Tcl, Perl, Ruby). On peut sélectionner la doc spécifique pour python (onglet de droite, sélectionner Show Python). C'est très complet et intéressant si on a un peu de temps...
- Documentation Tk un petit peu allégée : Anglais. C'est la même doc que le lien précédent avec quelques éléments en moins.
- Doc officielle de Python : pas indispensable, mais n'oublions pas que cette doc existe.
- Tutoriels O. Lécluse : Quelques tutoriels pour découvrir Tkinter. Site original d'Olivier Lécluse
Remarque : connaître sa version de tcl/tk utilisé pour tkinter :
import tkinter
tkinter.Tcl().eval('info patchlevel')
tkinter._test()
Import du module tkinter
On supposera dans toute cette doc que le module tkinter est importé de la manière suivante :
import tkinter as tk
import tkinter.ttk as ttk
Ainsi, toutes les classes ou méthodes du module seront appelées en commençant par tk.nom_de_methode.
Au programme...
- Fenêtre principale (Tk)
- Fenêtres supplémentaires (Toplevel)
- Barre de menu (Menubar)
- Menu (Menu)
- Bouton radio (Radiobutton)
- Variables de contrôle (IntVar, DoubleVar et StringVar)
- Images
Tutoriels
- Canvas : détecter la postion de la souris : créer un Canvas, ajouter des barres de défilement, détecter la position de la souris sur le Canvas ou dans une grille dessinée dans le Canvas.
Themed Widgets ttk
- Utiliser un thème (Tk)
Modules complémentaires
Peuvent être utiles quand nécessaires...Voir cette liste.
Le sous-module tkinter.ttk permet d'ajouter de nouveaux widgets, mais modifie légèrement l'utilisations des widgets de base. Voir cette doc par exemple .