En stavekontroll er et viktig verktøy for å forbedre nøyaktigheten av din skriftlige kommunikasjon. Når du skriver, kan du enkelt overse skrivefeil eller stavefeil som en stavekontroll lett kan oppdage for deg. Dette sparer ikke bare tid og krefter, men hjelper deg også å unngå pinlige feil.
Du kan enkelt utvikle en GUI-applikasjon der du kan skrive et ord og få korrigert stavemåte ved å bruke Pythons Tkinter-modul. Tkinter gir fantastiske tilpassbare widgets som gjør utviklingen enkel og morsom.
Tkinter- og stavekontrollmodulen
Standard GUI-biblioteket for Python heter Tkinter. Du kan lage utrolige GUI-programmer med Tkinter. Kanskje du kan bygge en enkel kalkulator, en oppgaveliste-app, tekstredigering, musikkspiller eller quiz-spill. Du kan bruk Python og Tkinter for å lage enkle skrivebordsapper og bruk kunnskapen din i praksis mens du forbedrer dine programmeringsferdigheter.
For å installere Tkinter i systemet ditt, åpne terminalen og kjør:
pip installere tkinter
En annen modul du vil bruke mye i dette prosjektet er Stavekontrollmodulen. Arbeidet til Peter Norvig danner grunnlaget for denne modulen. Den bruker Levenshtein-avstandsalgoritmen for å finne permutasjoner i en ordfrekvensliste. Den antar da at jo større frekvens ordet er, desto mer sannsynlig er det at det er riktig stavemåte.
For å installere stavekontrollmodulen, kjør følgende kommando:
pip installere pyspellchecker
Hvordan bygge en stavekorrigeringsapp ved hjelp av Python
Følg disse trinnene for å bygge en GUI-stavekorrigering ved hjelp av Python.
Denne eksempelkoden er tilgjengelig i denne GitHub-depot og er gratis for deg å bruke under MIT-lisensen.
Implementer den underliggende logikken og funksjonaliteten
Det første trinnet er å importere Tkinter og SpellChecker-klassen fra stavekontrollmodulen. Opprett en forekomst av Stavekontroll og lagre den i en variabel kalt corrector.
fra tkinter import *
fra stavekontroll import Stavekontroll
corrector = Stavekontroll()
Definer en funksjon, Rydd alt(), som vil slette dataene som vises i inntastingsfeltet. For å oppnå dette, bruk slett() funksjon for å fjerne alle oppføringer fra 0 til siste indeks på begge inntastingsfeltene, ord1_felt og ord2_felt.
defRydd alt():
word1_field.delete(0, SLUTT)
word2_field.delete(0, SLUTT)
Definer en annen funksjon kalt korreksjon() som leser et ord fra det første inntastingsfeltet og legger til riktig stavemåte til det andre. Bruke få() metoden på word1_field for å få verdien som en streng. Send dette hentede ordet til korreksjon() funksjonen, fjern deretter word2_field-widgeten før du bruker sett inn() metode for å sette inn det korrigerte ordet i begynnelsen av feltet.
defkorreksjon():
input_word = word1_field.get()
corrected_word = corrector.correction (input_word)
word2_field.delete(0, SLUTT)
word2_field.insert(0, korrigert_ord)
Lag brukergrensesnittet
Initialiser Tkinter-forekomsten og vis rotvinduet. Bruke konfigurer() metoden og sett bakgrunnsfargen til vinduet til ønsket farge, for eksempel aqua. Angi dimensjonene til vinduet til å være 900 piksler bredt og 450 piksler høyt ved å bruke geometri() metode. Angi også en passende vindustittel.
root = Tk()
root.configure (bakgrunn='aqua')
root.geometry("900 x 450")
root.title("Staverettighetskorrigering")
Bruk Label-widgets for å vise nyttig informasjon om applikasjonen. Konstruktøren godtar et overordnet vindu der du vil plassere det, teksten det skal vise, skriftfargen, bakgrunnsfargen og skriftstørrelsen.
headlabel = Etikett (root, tekst='Stavemåtekorrektor', fg='hvit', bg="blå", font=10)
label1 = Etikett (root, tekst="Inndataord", fg='svart', bg='fiolett', font=10)
label2 = Etikett (root, tekst="Korrigert ord", fg='svart', bg='fiolett', font=10)
Grid er en geometrimanager som organiserer widgets i en todimensjonal tabell. Du kan se for deg et oppsett med fem rader og to kolonner.
Plasser hver etikett i en passende rad og kolonne, husk at deres indekser begynner fra null. Du kan bruke polstring for å justere widgetene dine; i dette eksemplet har label2 en polstring på 100 piksler langs X-aksen.
headlabel.grid (rad=0, kolonne=1)
label1.grid (rad=1, kolonne=0)
label2.grid (rad=3, kolonne=0, padx=100)
Definer to oppføringswidgeter, en for inndata og en for korreksjon. Sett skriftstørrelsen på begge widgetene til 10. Sett den feilstavede oppføringswidgeten i den andre raden og den andre kolonnen, med en utfylling på 100 langs X-aksen og 50 langs Y-aksen. Gjør det samme for den korrigerte oppføringswidgeten, men plasser den i den fjerde raden.
word1_field = Entry (font=10)
word2_field = Entry (font=10)
word1_field.grid (rad=1, kolonne=1, padx=100, pady=50)
word2_field.grid (rad=3, kolonne=1, padx=100, pady=50)
Bruke Knapp() widget for å lage to knapper: Korreksjon og Klar. Send inn rotvinduet som eieren, knappens etikett som en streng, bakgrunnsfargen som oransje, skriftfargen som svart og skriftstørrelsen som 8. Du kan angi et funksjonsnavn her ved å bruke kommando argument; dette vil kjøre når brukeren klikker på knappen.
Plasser hver knapp i en passende rad og kolonne.
knapp1 = Knapp (root, tekst="Korreksjon", bg="oransje", fg="svart", font=8, kommando=retting)
button1.grid (rad=2, kolonne=1),
knapp2 = Knapp (root, tekst="Klar", bg="oransje", fg="svart", font=8, kommando=clearAll)
button2.grid (rad=4, kolonne=1)
De mainloop() funksjonen forteller Python å kjøre Tkinter-hendelsesløkken og lytte etter hendelser (for eksempel knappetrykk) til du lukker vinduet:
rot.mainloop()
Sett sammen all denne koden og kjør programmet for å se stavekorrigeringsprogrammet i aksjon.
Utgangen til stavekorrigeringsappen
Når du kjører dette programmet, skal du se et lite vindu med blå bakgrunnsfarge. Skriv inn et feilstavet ord i det første inntastingsfeltet, og trykk deretter på Korreksjon knapp. Du bør se riktig stavemåte vises i det andre tekstfeltet. Du kan bruke Klar for å tilbakestille begge tekstfeltene.
Python GUI-rammer for utviklere
Python GUI-rammeverk er en fantastisk ressurs for utviklere. Du kan raskt bygge en applikasjon med en attraktiv, nyttig GUI. Noen av rammene du kan bruke, bortsett fra Tkinter, inkluderer Qt-designer, Kivy, Toga og BeeWare. Ved å bruke disse rammeverkene kan du bygge alt fra små hjelpeapper til fullt funksjonelle produkter.
Med Python får du en ekstra fordel. Siden Python GUI-rammeverk støtter utvikling på tvers av plattformer, kan du bruke den samme koden på forskjellige operativsystemer. Med alle disse funksjonene og mange flere, har Python dukket opp som et ideelt språk for å lage grafiske brukergrensesnitt med økt pålitelighet og reduserte kostnader.