Le widget Text
de Tkinter offre un moyen flexible d’afficher et de modifier du texte, mais sa police par défaut n’est pas toujours idéale. Ce guide explore différentes méthodes pour personnaliser la police de votre widget Text
Tkinter, améliorant ainsi l’attrait visuel et la lisibilité de votre interface graphique.
Table des matières
- Définition de la police directement avec
config()
- Contrôle avancé de la police avec
tkFont
- Choisir la bonne famille de polices
- Gestion des problèmes de disponibilité des polices
Définition de la police directement avec config()
L’approche la plus simple utilise la méthode config()
. Cela vous permet de spécifier la famille de polices, la taille et le style en une seule étape, bien qu’elle offre un contrôle limité.
import tkinter as tk
root = tk.Tk()
text_widget = tk.Text(root)
text_widget.pack()
# Définir la famille de polices, la taille et le poids (gras)
text_widget.config(font=("Helvetica", 14, "bold"))
root.mainloop()
Cela crée un widget Text
avec la police « Helvetica », taille 14 et poids gras. Expérimentez avec différentes polices comme « Times New Roman », « Arial », « Courier », etc. La disponibilité des polices dépend de votre système.
Contrôle avancé de la police avec tkFont
Pour un contrôle plus précis, y compris la création de polices personnalisées, utilisez le module tkFont
. Cela offre une plus grande flexibilité dans la définition des attributs de police.
import tkinter as tk
import tkinter.font as tkFont
root = tk.Tk()
# Créer une police personnalisée
custom_font = tkFont.Font(family="Arial", size=12, slant="italic", weight="bold", underline=True)
text_widget = tk.Text(root)
text_widget.pack()
# Appliquer la police personnalisée
text_widget.config(font=custom_font)
root.mainloop()
Ce code crée une police personnalisée avec la famille, la taille, l’inclinaison, le poids et le soulignement spécifiés. Vous pouvez ajuster ces paramètres pour obtenir les caractéristiques de police souhaitées.
Choisir la bonne famille de polices
La sélection de la famille de polices a un impact sur la lisibilité et l’esthétique. Tkinter prend en charge de nombreuses familles, mais la disponibilité dépend de votre système. Les choix courants incluent :
- Helvetica/Arial : Polices sans empattement propres, adaptées à diverses applications.
- Times New Roman : Une police serif classique idéale pour les longs blocs de texte.
- Courier : Une police monospace pour le code et la programmation.
- Verdana : Une police sans empattement conçue pour la lisibilité à l’écran.
Expérimentez pour trouver la meilleure combinaison pour votre application. Privilégiez la lisibilité et la cohérence.
Gestion des problèmes de disponibilité des polices
Si une police spécifiée n’est pas disponible, Tkinter utilise une police système par défaut. Pour les applications robustes, incluez la gestion des erreurs :
import tkinter as tk
import tkinter.font as tkFont
try:
custom_font = tkFont.Font(family="A Very Unlikely Font Name", size=12)
# ... utiliser custom_font ...
except tkFont.TclError as e:
print(f"Erreur de chargement de la police : {e}")
# ... utiliser une police de secours ...
Cet exemple montre un bloc try-except
pour intercepter les exceptions tkFont.TclError
, qui sont levées lorsque Tkinter ne parvient pas à charger une police spécifiée. Cela vous permet de gérer élégamment ces scénarios et de fournir une solution de secours.