Een spellingcontrole is een essentieel hulpmiddel om de nauwkeurigheid van uw schriftelijke communicatie te verbeteren. Tijdens het schrijven kunt u gemakkelijk typefouten of spelfouten over het hoofd zien die een spellingcontrole gemakkelijk voor u kan detecteren. Dit bespaart niet alleen tijd en moeite, maar helpt u ook gênante fouten te voorkomen.
U kunt eenvoudig een GUI-toepassing ontwikkelen waarin u een woord kunt typen en de gecorrigeerde spelling kunt krijgen met behulp van de Tkinter-module van Python. Tkinter biedt geweldige aanpasbare widgets die ontwikkeling gemakkelijk en leuk maken.
De Tkinter en de Spellingcontrolemodule
De standaard GUI-bibliotheek voor Python heet Tkinter. Je kunt ongelooflijke GUI-programma's maken met Tkinter. Je zou kunnen bouw een eenvoudige rekenmachine, een takenlijst-app, teksteditor, muziekspeler of quizspel. Jij kan
gebruik Python en Tkinter om eenvoudige desktop-apps te maken en breng je kennis in de praktijk terwijl je je programmeervaardigheden verbetert.Om Tkinter in uw systeem te installeren, opent u de terminal en voert u uit:
Pip installeren tkinter
Een andere module die u in dit project veel zult gebruiken, is de module Spellingcontrole. Het werk van Peter Norvig vormt de basis van deze module. Het gebruikt het Levenshtein Distance-algoritme om permutaties in een woordfrequentielijst te vinden. Vervolgens wordt ervan uitgegaan dat hoe groter de frequentie van het woord is, hoe waarschijnlijker het is dat het de juiste spelling is.
Voer de volgende opdracht uit om de spellingcontrolemodule te installeren:
Pip installeren pyspellingcontrole
Hoe een spellingcorrector-app te bouwen met behulp van Python
Volg deze stappen om een GUI-spellingcorrector te bouwen met behulp van Python.
Hierin is deze voorbeeldcode beschikbaar GitHub-opslagplaats en is gratis voor u om te gebruiken onder de MIT-licentie.
Implementeer de onderliggende logica en functionaliteit
De eerste stap is het importeren van Tkinter en de klasse SpellChecker uit de spellingcontrolemodule. Maak een instantie van Spellingscontrole en sla het op in een variabele met de naam corrector.
van tkinter importeren *
van spellingscontrole importeren Spellingscontrole
corrector = Spellingcontrole()
Definieer een functie, wis alles(), waarmee de gegevens die in het invoerveld worden weergegeven, worden gewist. Gebruik hiervoor de verwijderen() functie om alle invoer van 0 tot de laatste index op beide invoervelden te verwijderen, woord1_veld En woord2_veld.
defwis alles():
woord1_veld.verwijderen(0, EINDE)
woord2_veld.verwijderen(0, EINDE)
Definieer een andere functie met de naam correctie() dat een woord leest uit het eerste invoerveld en de juiste spelling toevoegt aan het tweede. Gebruik de krijgen() methode op het woord1_veld om de waarde ervan als een tekenreeks te krijgen. Geef dit opgehaalde woord door aan de correctie() functie, wis dan de word2_field-widget voordat u de invoegen() methode om het gecorrigeerde woord aan het begin van het veld in te voegen.
defcorrectie():
input_word = woord1_veld.get()
gecorrigeerd_woord = corrector.correctie (invoer_woord)
woord2_veld.verwijderen(0, EINDE)
woord2_veld.insert(0, gecorrigeerd_woord)
Maak de gebruikersinterface
Initialiseer de Tkinter-instantie en geef het hoofdvenster weer. Gebruik de configureren() methode en stel de achtergrondkleur van het venster in op de gewenste kleur, zoals aqua. Stel de afmetingen van het venster in op 900 pixels breed en 450 pixels hoog met behulp van de geometrie() methode. Stel ook een passende venstertitel in.
wortel = Tk()
root.configure (achtergrond='water')
root.geometry("900x450")
hoofdmap.titel("Spellingcorrector")
Gebruik Label-widgets om nuttige informatie over de toepassing weer te geven. De constructor accepteert een bovenliggend venster waarin u het wilt plaatsen, de tekst die het moet weergeven, de letterkleur, de achtergrondkleur en de lettergrootte.
headlabel = Label (hoofdmap, tekst='Spellingscorrector', bijv='wit', bg="blauw", lettertype=10)
label1 = Label (hoofdmap, tekst="Invoerwoord", bijv='zwart', bg='paars', lettertype=10)
label2 = Label (hoofdmap, tekst="Gecorrigeerd woord", bijv='zwart', bg='paars', lettertype=10)
Grid is een geometriemanager die widgets organiseert in een tweedimensionale tabel. U kunt zich een indeling van vijf rijen en twee kolommen voorstellen.
Plaats elk label in een geschikte rij en kolom, onthoud dat hun indexen vanaf nul beginnen. U kunt opvulling gebruiken om uw widgets uit te lijnen; in dit voorbeeld heeft label2 een opvulling van 100 pixels langs de X-as.
headlabel.grid (rij=0, kolom=1)
label1.grid (rij=1, kolom=0)
label2.grid (rij=3, kolom=0, padx=100)
Definieer twee invoerwidgets, één voor de invoer en één voor de correctie. Stel de lettergrootte van beide widgets in op 10. Stel de verkeerd gespelde invoerwidget in de tweede rij en tweede kolom in, met een opvulling van 100 langs de X-as en 50 langs de Y-as. Doe hetzelfde voor de gecorrigeerde invoerwidget, maar plaats deze in de vierde rij.
woord1_veld = Invoer (lettertype=10)
woord2_veld = Invoer (lettertype=10)
word1_field.grid (rij=1, kolom=1, padx=100, pady=50)
word2_field.grid (rij=3, kolom=1, padx=100, pady=50)
Gebruik de Knop() widget om twee knoppen te maken: Correctie En Duidelijk. Geef het hoofdvenster door als hun eigenaar, het label van de knop als een tekenreeks, de achtergrondkleur als oranje, de letterkleur als zwart en de lettergrootte als 8. U kunt hier een functienaam opgeven met behulp van de commando argument; dit wordt uitgevoerd wanneer de gebruiker op de knop klikt.
Plaats elke knop in een geschikte rij en kolom.
button1 = Knop (hoofdmap, tekst="Correctie", bg="oranje", bijv="zwart", lettertype=8, commando=correctie)
button1.grid (rij=2, kolom=1),
button2 = Knop (hoofdmap, tekst="Duidelijk", bg="oranje", bijv="zwart", lettertype=8, commando=alles wissen)
button2.grid (rij=4, kolom=1)
De Hoofdlus() functie vertelt Python om de Tkinter-gebeurtenislus uit te voeren en te luisteren naar gebeurtenissen (zoals het indrukken van knoppen) totdat u het venster sluit:
wortel.Hoofdlus()
Zet al deze code bij elkaar en voer het programma uit om uw spellingcorrector-toepassing in actie te zien.
De uitvoer van de spellingcorrector-app
Wanneer u dit programma uitvoert, zou u een klein venster met een blauwe achtergrondkleur moeten zien. Typ een verkeerd gespeld woord in het eerste invoerveld en druk vervolgens op Correctie knop. U zou de juiste spelling moeten zien verschijnen in het tweede tekstveld. U kunt de Duidelijk knop om beide tekstvelden opnieuw in te stellen.
Python GUI-frameworks voor ontwikkelaars
Python GUI-frameworks zijn een fantastische bron voor ontwikkelaars. U kunt snel een applicatie bouwen met een aantrekkelijke, handige GUI. Enkele van de frameworks die u kunt gebruiken, behalve Tkinter, zijn Qt designer, Kivy, Toga en BeeWare. Met deze frameworks kun je alles bouwen, van kleine hulpprogramma's tot volledig functionele producten.
Met Python krijg je een extra voordeel. Omdat Python GUI-frameworks platformonafhankelijke ontwikkeling ondersteunen, kunt u dezelfde code op verschillende besturingssystemen gebruiken. Met al deze functies en nog veel meer, is Python naar voren gekomen als een ideale taal voor het creëren van grafische gebruikersinterfaces met verhoogde betrouwbaarheid en lagere kosten.