Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

En stavningskontroll är ett viktigt verktyg för att förbättra noggrannheten i din skriftliga kommunikation. När du skriver kan du enkelt förbise stavfel eller felstavningar som en stavningskontroll lätt kan upptäcka åt dig. Detta sparar inte bara tid och ansträngning utan hjälper dig också att undvika pinsamma misstag.

Du kan enkelt utveckla en GUI-applikation där du kan skriva ett ord och få dess korrigerade stavning med hjälp av Pythons Tkinter-modul. Tkinter tillhandahåller fantastiska anpassningsbara widgets som gör utvecklingen enkel och rolig.

Tkinter och stavningskontrollmodulen

Standard GUI-biblioteket för Python heter Tkinter. Du kan skapa otroliga GUI-program med Tkinter. Du kanske bygga en enkel miniräknare, en att göra-lista-app, textredigerare, musikspelare eller frågesport. Du kan använd Python och Tkinter för att skapa enkla skrivbordsappar

och omsätt dina kunskaper i praktiken samtidigt som du utvecklar dina programmeringsfärdigheter.

För att installera Tkinter i ditt system, öppna terminalen och kör:

pip Installera tkinter

En annan modul som du kommer att använda mycket i det här projektet är stavningskontrollmodulen. Peter Norvigs arbete ligger till grund för denna modul. Den använder Levenshtein Distance-algoritmen för att hitta permutationer i en ordfrekvenslista. Den antar då att ju högre frekvens ordet är, desto mer sannolikt är det att det är korrekt stavning.

För att installera stavningskontrollmodulen, kör följande kommando:

pip Installera pyspellchecker

Hur man bygger en stavningskorrigeringsapp med Python

Följ dessa steg för att bygga en GUI-stavningskorrigerare med Python.

Denna exempelkod är tillgänglig i denna GitHub-förråd och är gratis för dig att använda under MIT-licensen.

Implementera den underliggande logiken och funktionaliteten

Det första steget är att importera Tkinter och stavningskontrollklassen från stavningskontrollmodulen. Skapa en instans av Stavningskontroll och lagra den i en variabel som heter corrector.

från tkinter importera *
från stavningskontroll importera Stavningskontroll

corrector = SpellChecker()

Definiera en funktion, Rensa alla(), som raderar data som visas i inmatningsfältet. För att uppnå detta använd radera() funktion för att ta bort alla poster från 0 till det sista indexet på båda inmatningsfälten, word1_fält och word2_field.

defRensa alla():
word1_field.delete(0, SLUTET)
word2_field.delete(0, SLUTET)

Definiera en annan funktion som heter korrektion() som läser ett ord från det första inmatningsfältet och lägger till dess korrekta stavning till det andra. Använd skaffa sig() metod på word1_field för att få dess värde som en sträng. Skicka detta hämtade ord till korrektion() funktionen, rensa sedan word2_field-widgeten innan du använder Föra in() metod för att infoga det korrigerade ordet i början av fältet.

defkorrektion():
input_word = word1_field.get()
corrected_word = corrector.correction (input_word)
word2_field.delete(0, SLUTET)
word2_field.insert(0, korrigerat_ord)

Skapa användargränssnittet

Initiera Tkinter-instansen och visa rotfönstret. Använd configure() metod och ställ in bakgrundsfärgen på fönstret till önskad färg som aqua. Ställ in måtten på fönstret till 900 pixlar brett och 450 pixlar högt med hjälp av geometri() metod. Ställ även in en lämplig fönstertitel.

root = Tk()
root.configure (bakgrund="aqua")
root.geometry("900x450")
root.title("Stavningskorrigering")

Använd Label-widgets för att visa användbar information om programmet. Konstruktören accepterar ett överordnat fönster där du vill placera det, texten det ska visa, teckensnittsfärgen, bakgrundsfärgen och teckenstorleken.

headlabel = Etikett (root, text="Stavningskorrigering", fg='vit', bg="blå", font=10)
label1 = Etikett (root, text="Inmatningsord", fg='svart', bg='violett', font=10)
label2 = Etikett (root, text="Rättat ord", fg='svart', bg='violett', font=10)

Grid är en geometrihanterare som organiserar widgets i en tvådimensionell tabell. Du kan föreställa dig en layout med fem rader och två kolumner.

Placera varje etikett i en lämplig rad och kolumn, kom ihåg att deras index börjar från noll. Du kan använda utfyllnad för att anpassa dina widgets; i det här exemplet har label2 en utfyllnad på 100 pixlar längs X-axeln.

headlabel.grid (rad=0, kolumn=1)
label1.grid (rad=1, kolumn=0)
label2.grid (rad=3, kolumn=0, padx=100)

Definiera två inmatningswidgetar, en för inmatningen och en för korrigeringen. Ställ in teckenstorleken för båda widgetarna till 10. Ställ in den felstavade inmatningswidgeten i den andra raden och den andra kolumnen, med en utfyllnad på 100 längs X-axeln och 50 längs Y-axeln. Gör samma sak för den korrigerade inmatningswidgeten, men placera den på fjärde raden.

word1_field = Entry (font=10)
word2_field = Entry (font=10)
word1_field.grid (rad=1, kolumn=1, padx=100, pady=50)
word2_field.grid (rad=3, kolumn=1, padx=100, pady=50)

Använd Knapp() widget för att skapa två knappar: Korrektion och Klar. Skicka in rotfönstret som deras ägare, knappens etikett som en sträng, bakgrundsfärgen som orange, teckensnittsfärgen som svart och teckenstorleken som 8. Du kan ange ett funktionsnamn här med hjälp av kommando argument; detta kommer att köras när användaren klickar på knappen.

Placera varje knapp i en lämplig rad och kolumn.

knapp1 = Knapp (root, text="Korrektion", bg="orange", fg="svart", font=8, kommando=korrigering)
button1.grid (rad=2, kolumn=1),
button2 = Knapp (root, text="Klar", bg="orange", fg="svart", font=8, kommando=rensaAlla)
button2.grid (rad=4, kolumn=1)

De mainloop() Funktionen säger till Python att köra Tkinter-händelsslingan och lyssna efter händelser (som knapptryckningar) tills du stänger fönstret:

rot.mainloop()

Sätt ihop all denna kod och kör programmet för att se hur din stavningskorrigeringsapplikation fungerar.

Utdata från stavningskorrigeringsappen

När du kör det här programmet bör du se ett litet fönster med en blå bakgrundsfärg. Ange ett felstavat ord i det första inmatningsfältet och tryck sedan på Korrektion knapp. Du bör se rätt stavning visas i det andra textfältet. Du kan använda Klar knappen för att återställa båda textfälten.

Python GUI Frameworks för utvecklare

Python GUI-ramverk är en fantastisk resurs för utvecklare. Du kan snabbt bygga en applikation med ett attraktivt, användbart GUI. Några av de ramverk du kan använda, förutom Tkinter, inkluderar Qt-designer, Kivy, Toga och BeeWare. Med hjälp av dessa ramverk kan du bygga allt från små verktygsappar till fullt fungerande produkter.

Med Python får du en extra fördel. Eftersom Python GUI-ramverk stöder plattformsoberoende utveckling kan du använda samma kod på olika operativsystem. Med alla dessa funktioner och många fler har Python framstått som ett idealiskt språk för att skapa grafiska användargränssnitt med ökad tillförlitlighet och minskade kostnader.