Un correcteur orthographique est un outil essentiel pour améliorer la précision de vos communications écrites. Lorsque vous écrivez, vous pouvez facilement négliger les fautes de frappe ou d’orthographe qu’un correcteur orthographique peut facilement détecter pour vous. Cela vous permet non seulement d’économiser du temps et des efforts, mais aussi d’éviter des erreurs embarrassantes.
Vous pouvez facilement développer une application GUI dans laquelle vous pouvez taper un mot et obtenir sa correction orthographique en utilisant le module Tkinter de Python. Tkinter fournit des widgets personnalisables étonnants qui rendent le développement facile et amusant.
Le module Tkinter et le correcteur orthographique
La bibliothèque d’interface graphique par défaut de Python s’appelle Tkinter. Vous pouvez créer des programmes d’interface graphique incroyables avec Tkinter. Vous pouvez construire une simple calculatrice, une application de liste de tâches, un éditeur de texte, un lecteur de musique ou un jeu de quiz. Vous pouvez utiliser Python et Tkinter pour créer des applications de bureau simples et mettre vos connaissances en pratique tout en améliorant vos compétences en programmation.
Pour installer Tkinter dans votre système, ouvrez le terminal et exécutez :
pip install tkinter
Un autre module que vous utiliserez beaucoup dans ce projet est le module Spell Checker. Le travail de Peter Norvig constitue la base de ce module. Il utilise l’algorithme de la distance de Levenshtein pour trouver des permutations dans une liste de fréquence de mots. Il part ensuite du principe que plus la fréquence du mot est élevée, plus il est probable qu’il s’agisse de l’orthographe correcte.
Pour installer le module de vérification orthographique, exécutez la commande suivante :
pip install pyspellchecker
Comment créer une application de correction orthographique en utilisant Python
Suivez ces étapes pour créer un correcteur d’orthographe graphique à l’aide de Python.
Cet exemple de code est disponible dans ce dépôt GitHub et est libre d’utilisation sous la licence MIT.
Implémentation de la logique et des fonctionnalités sous-jacentes
La première étape est d’importer Tkinter et la classe SpellChecker du module spellchecker. Créez une instance de SpellChecker et le stocke dans une variable nommée correcteur.
from tkinter import *
from spellchecker import SpellChecker
corrector = SpellChecker()
Définir une fonction, clearAll()qui effacera les données affichées dans le champ de saisie. Pour ce faire, utilisez la méthode delete() pour supprimer toutes les entrées de 0 au dernier indice dans les deux champs d’entrée, champ_mot1 et mot2_champ.
def clearAll():
word1_field.delete(0, END)
word2_field.delete(0, END)
Définissez une autre fonction nommée correction() qui lit un mot dans le premier champ de saisie et ajoute son orthographe correcte dans le second. Utilisez la méthode get() sur le champ word1_field pour obtenir sa valeur sous forme de chaîne. Passez le mot récupéré à la méthode correction() puis effacez le widget word2_field avant d’utiliser la fonction insert() pour insérer le mot corrigé au début du champ.
def correction():
input_word = word1_field.get()
corrected_word = corrector.correction(input_word)
word2_field.delete(0, END)
word2_field.insert(0, corrected_word)
Créer l’interface utilisateur
Initialiser l’instance Tkinter et afficher la fenêtre racine. Utilisez la fonction configure() et définissez la couleur d’arrière-plan de la fenêtre sur la couleur de votre choix, par exemple aqua. Définissez les dimensions de la fenêtre (900 pixels de large et 450 pixels de haut) à l’aide de la méthode geometry() méthode. Définissez également un titre de fenêtre approprié.
root = Tk()
root.configure(background='aqua')
root.geometry("900x450")
root.title("Spellings Corrector")
Utilisez les widgets Label pour afficher des informations utiles sur l’application. Le constructeur accepte une fenêtre parent dans laquelle vous voulez le placer, le texte qu’il doit afficher, la couleur de la police, la couleur de fond et la taille de la police.
headlabel = Label(root, text='Spellings Corrector', fg='white', bg="blue", font=10)
label1 = Label(root, text="Input Word", fg='black', bg='violet', font=10)
label2 = Label(root, text="Corrected Word", fg='black', bg='violet', font=10)
Grid est un gestionnaire de géométrie qui organise les widgets dans un tableau bidimensionnel. Vous pouvez envisager une mise en page de cinq rangées et deux colonnes.
Placez chaque étiquette dans une ligne et une colonne appropriées, en vous rappelant que leurs index commencent à zéro. Vous pouvez utiliser le remplissage pour aligner vos widgets ; dans cet exemple, l’étiquette 2 a un remplissage de 100 pixels le long de l’axe des X.
headlabel.grid(row=0, column=1)
label1.grid(row=1, column=0)
label2.grid(row=3, column=0, padx=100)
Définissez deux widgets d’entrée, un pour l’entrée et un pour la correction. Définissez la taille de la police des deux widgets à 10. Placez le widget d’entrée mal orthographié dans la deuxième ligne et la deuxième colonne, avec un padding de 100 le long de l’axe X et de 50 le long de l’axe Y. Faites de même pour le widget de l’entrée corrigée, mais placez-le sur la quatrième ligne.
word1_field = Entry(font=10)
word2_field = Entry(font=10)
word1_field.grid(row=1, column=1, padx=100, pady=50)
word2_field.grid(row=3, column=1, padx=100, pady=50)
Utilisez la fonction Bouton() widget pour créer deux boutons : Correction et Effacer. Indiquez la fenêtre racine en tant que propriétaire, le libellé du bouton en tant que chaîne de caractères, la couleur d’arrière-plan en tant qu’orange, la couleur de la police en tant que noire et la taille de la police en tant que 8. Vous pouvez fournir un nom de fonction ici à l’aide de la commande commande Cette commande sera exécutée lorsque l’utilisateur cliquera sur le bouton.
Placez chaque bouton dans une ligne et une colonne appropriées.
button1 = Button(root, text="Correction", bg="orange", fg="black", font=8, command=correction)
button1.grid(row=2, column=1),
button2 = Button(root, text="Clear", bg="orange", fg="black", font=8, command=clearAll)
button2.grid(row=4, column=1)
Le site mainloop() indique à Python d’exécuter la boucle d’événements de Tkinter et d’écouter les événements (comme les pressions sur les boutons) jusqu’à ce que vous fermiez la fenêtre :
root.mainloop()
Assemblez tout ce code et exécutez le programme pour voir votre application de correction orthographique en action.
Le résultat de l’application du correcteur d’orthographe
Lorsque vous lancez ce programme, vous devriez voir une petite fenêtre avec un fond bleu. Entrez un mot mal orthographié dans le premier champ de saisie, puis appuyez sur la touche Correction bouton. Vous devriez voir l’orthographe correcte apparaître dans le deuxième champ de texte. Vous pouvez utiliser le bouton Effacer pour réinitialiser les deux champs de texte.
Cadres d’interface graphique Python pour les développeurs
Les frameworks d’interface graphique Python sont une ressource fantastique pour les développeurs. Vous pouvez rapidement construire une application avec une interface graphique attrayante et utile. Parmi les frameworks que vous pouvez utiliser, outre Tkinter, figurent Qt designer, Kivy, Toga et BeeWare. Grâce à ces frameworks, vous pouvez créer tout ce que vous voulez, des petites applications utilitaires aux produits entièrement fonctionnels.
Avec Python, vous bénéficiez d’un avantage supplémentaire. Comme les cadres d’interface graphique Python prennent en charge le développement multiplateforme, vous pouvez utiliser le même code sur différents systèmes d’exploitation. Avec toutes ces caractéristiques et bien d’autres encore, Python s’est imposé comme un langage idéal pour créer des interfaces graphiques avec une fiabilité accrue et des coûts réduits.