Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

En stavekontrol er et vigtigt værktøj til at hjælpe med at forbedre nøjagtigheden af ​​din skriftlige kommunikation. Når du skriver, kan du nemt overse stavefejl eller stavefejl, som en stavekontrol nemt kan opdage for dig. Dette sparer ikke kun tid og kræfter, men hjælper dig også med at undgå pinlige fejl.

Du kan nemt udvikle en GUI-applikation, hvor du kan skrive et ord og få dets korrigerede stavemåde ved hjælp af Pythons Tkinter-modul. Tkinter leverer fantastiske brugerdefinerbare widgets, der gør udviklingen nem og sjov.

Tkinter- og stavekontrolmodulet

Standard GUI-biblioteket for Python hedder Tkinter. Du kan oprette utrolige GUI-programmer med Tkinter. Du kunne måske bygge en simpel lommeregner, en to-do liste-app, teksteditor, musikafspiller eller quizspil. Du kan brug Python og Tkinter til at skabe simple desktop-apps og omsæt din viden i praksis, mens du fremmer dine programmeringsevner.

For at installere Tkinter i dit system skal du åbne terminalen og udføre:

pip installere tkinter

Et andet modul, du vil bruge meget i dette projekt, er Stavekontrol-modulet. Peter Norvigs arbejde danner grundlaget for dette modul. Den bruger Levenshtein Distance-algoritmen til at finde permutationer i en ordfrekvensliste. Det antager så, at jo større hyppighed ordet er, jo mere sandsynligt er det, at det er den korrekte stavemåde.

For at installere stavekontrolmodulet skal du udføre følgende kommando:

pip installere pyspellchecker

Sådan bygger du en stavekorrektor-app ved hjælp af Python

Følg disse trin for at bygge en GUI-stavekorrektion ved hjælp af Python.

Denne eksempelkode er tilgængelig i denne GitHub-depot og er gratis for dig at bruge under MIT-licensen.

Implementer den underliggende logik og funktionalitet

Det første trin er at importere Tkinter og SpellChecker-klassen fra stavekontrolmodulet. Opret en instans af Stavekontrol og gem det i en variabel med navnet corrector.

fra tkinter importere *
fra stavekontrol importere Stavekontrol

korrektor = Stavekontrol()

Definer en funktion, Slet alt(), der sletter de data, der vises i indtastningsfeltet. For at opnå dette skal du bruge slet() funktion til at fjerne alle indtastninger fra 0 til det sidste indeks på begge indtastningsfelter, ord1_felt og word2_felt.

defSlet alt():
word1_field.delete(0, SLUT)
word2_field.delete(0, SLUT)

Definer en anden funktion ved navn rettelse() der læser et ord fra det første inputfelt og tilføjer dets korrekte stavning til det andet. Brug få() metode på word1_field for at få dens værdi som en streng. Send dette hentede ord til rettelse() funktion, ryd derefter word2_field-widgetten, før du bruger indsæt() metode til at indsætte det rettede ord i begyndelsen af ​​feltet.

defrettelse():
input_word = word1_field.get()
corrected_word = corrector.correction (input_word)
word2_field.delete(0, SLUT)
word2_field.insert(0, rettet_ord)

Opret brugergrænsefladen

Initialiser Tkinter-forekomsten og vis rodvinduet. Brug konfigurere() metode og indstil vinduets baggrundsfarve til din ønskede farve, såsom aqua. Indstil vinduets dimensioner til at være 900 pixels bredt og 450 pixels højt ved hjælp af geometri() metode. Indstil også en passende vinduestitel.

root = Tk()
root.configure (baggrund='aqua')
root.geometry("900x450")
root.title("Stave korrektur")

Brug Label-widgets til at vise nyttige oplysninger om applikationen. Konstruktøren accepterer et overordnet vindue, hvor du vil placere det, den tekst, det skal vise, skriftfarven, baggrundsfarven og skriftstørrelsen.

headlabel = Label (rod, tekst='Stave korrektur', fg='hvid', bg="blå", font=10)
label1 = Etiket (rod, tekst="Input Word", fg='sort', bg='violet', font=10)
label2 = Etiket (rod, tekst="Korrigerede ord", fg='sort', bg='violet', font=10)

Grid er en geometrimanager, der organiserer widgets i en todimensionel tabel. Du kan forestille dig et layout med fem rækker og to kolonner.

Placer hver etiket i en passende række og kolonne, husk at deres indeks begynder fra nul. Du kan bruge polstring til at justere dine widgets; i dette eksempel har label2 en polstring på 100 pixels langs X-aksen.

headlabel.grid (række=0, kolonne=1)
label1.grid (row=1, column=0)
label2.grid (row=3, column=0, padx=100)

Definer to indtastningswidgets, en til input og en til rettelsen. Indstil skriftstørrelsen på begge widgets til 10. Indstil den fejlstavede indtastningswidget i anden række og anden kolonne med en polstring på 100 langs X-aksen og 50 langs Y-aksen. Gør det samme for den rettede indtastningswidget, men placer den i fjerde række.

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)

Brug Knap() widget til at oprette to knapper: Rettelse og Klar. Indtast rodvinduet som deres ejer, knappens etiket som en streng, baggrundsfarven som orange, skriftfarven som sort og skriftstørrelsen som 8. Du kan angive et funktionsnavn her ved hjælp af kommando argument; dette vil køre, når brugeren klikker på knappen.

Placer hver knap i en passende række og kolonne.

knap1 = Knap (rod, tekst="Rettelse", bg="orange", fg="sort", font=8, kommando= rettelse)
button1.grid (row=2, column=1),
knap2 = Knap (rod, tekst="Klar", bg="orange", fg="sort", font=8, kommando=clearAll)
button2.grid (row=4, column=1)

Det mainloop() funktion fortæller Python at køre Tkinter event loop og lytte efter begivenheder (såsom knaptryk), indtil du lukker vinduet:

rod.mainloop()

Sæt al denne kode sammen, og kør programmet for at se dit stavekorrektionsprogram i aktion.

Outputtet af Stavekorrektionsappen

Når du kører dette program, skulle du se et lille vindue med en blå baggrundsfarve. Indtast et forkert stavet ord i det første indtastningsfelt, og tryk derefter på Rettelse knap. Du bør se den korrekte stavemåde vises i det andet tekstfelt. Du kan bruge Klar knappen for at nulstille begge tekstfelter.

Python GUI Frameworks for udviklere

Python GUI rammer er en fantastisk ressource for udviklere. Du kan hurtigt bygge en applikation med en attraktiv, nyttig GUI. Nogle af de rammer, du kan bruge, bortset fra Tkinter, inkluderer Qt-designer, Kivy, Toga og BeeWare. Ved at bruge disse rammer kan du bygge alt fra små hjælpeapps til fuldt funktionelle produkter.

Med Python får du en ekstra fordel. Da Python GUI-frameworks understøtter udvikling på tværs af platforme, kan du bruge den samme kode på forskellige operativsystemer. Med alle disse funktioner og mange flere er Python dukket op som et ideelt sprog til at skabe grafiske brugergrænseflader med øget pålidelighed og reducerede omkostninger.