Byg denne enkle, men funktionelle app ved hjælp af Pythons Tkinter-bibliotek.
En ordbog er en vigtig ressource, når man lærer ethvert sprog. Med kortfattede definitioner gør det at lære og forstå et sprog meget lettere. Med opfindelsen af smartphones kan du få adgang til sådan en uvurderlig app på få minutter.
Byg en ordbogsapplikation ved hjælp af Pythons Tkinter- og PyMultiDictionary-moduler for at få betydningen, synonymerne og antonymerne af ethvert ord.
Tkinter- og PyMultiDictionary-modulerne
Tkinter er standard Python GUI-bibliotek, som du kan bruge til at oprette desktop-applikationer. Det tilbyder en række widgets som knapper, etiketter og tekstbokse, så du kan udvikle apps på ingen tid. Du kan bruge det til at oprette simple hjælpeprogrammer som f stave korrektur, eller spil som dette farvegenkendelsestest.
For at installere Tkinter skal du åbne en terminal og køre:
pip installer tkinter
Du kan bruge PyMultiDictionary-modulet til at få betydninger, oversættelser, synonymer og antonymer af ord på 20 forskellige sprog. For at installere PyMultiDictionary på dit system skal du køre denne kommando:
pip installer PyMultiDictionary
Sådan bygger du en ordbogsapp ved hjælp af Python
Du kan finde kildekoden til Ordbogsappen i denne GitHub-depot.
Begynd med at importere Tkinter- og PyMultiDictionary-modulerne. Instantiér MultiDictionary-klassen og initialiser rodvinduet. Indstil titel og dimensioner for din ansøgning.
fra tkinter importere *
fra PyMultiDictionary importere Multiordbog
ordbog = Multiordbog()
root = Tk()
root.title("Word Dictionary Using Python")
root.geometry("1250x750")
Definer en funktion, diktere(). Denne funktion indstiller teksten til betydnings-, synonym- og antonymetiketterne til resultatet af hvert metodekald.
Send sproget ("en" for engelsk) og det ord, brugeren indtastede, til betyder metode. Denne metode returnerer en tuple, der indeholder ordtypen, dens ordbogsdefinition og dens beskrivelse fra Wikipedia. Udtræk den anden værdi fra denne tuple – definitionen – og send den til Label.config()-metoden.
Ring til synonym og antonym metoder, der passerer de samme parametre. Disse metoder returnerer hver en liste, som du kan sende direkte til config().
defdikt():
meaning.config (text=dictionary.meaning('da', word.get())[1])
synonym.config (text=dictionary.synonym('da', word.get()))
antonym.config (text=dictionary.antonym('da', word.get()))
Definer en etiket for at vise navnet på applikationen. Indstil det vindue, du vil placere etiketten i, den tekst, den skal have, og skrifttypestilene sammen med skriftfarven. Brug pakke() metode til at organisere etiketten ved at give den en vandret polstring på 10.
Definer en ramme i rodvinduet og en etiket for at bede brugeren om at indtaste et ord. Send parametrene som før, og placer widget'en på venstre side. Definer en indtastningswidget for at give brugeren et område til ordinput. Føj den til rammewidgetten og definer også dens skrifttypestile. Organiser og tilføj noget polstring til begge widgets.
Etiket (rod, tekst="Word Dictionary Using Python", skrifttype=("Arial 36 fed"),
fg="lilla").pack (pady=10)
ramme = Ramme (rod)
Etiket (ramme, tekst="Skriv ord:", skrifttype=("Arial 28 fed")).pakke (side=VENSTRE)
word = Entry (ramme, skrifttype=("Arial 23 fed"))
word.pack()
frame.pack (pady=10)
Definer en anden ramme, der indeholder betydningsetiketten, og en anden etiket, der viser betydningen ved at klikke på knappen Send. Placer den i den ramme, du oprettede ovenfor, og indstil de passende skrifttyper. Brug wraplength-egenskaben til at pakke en lang sætning ind i flere. Dens dimension er angivet i skærmenheder.
Organiser og tilføj noget polstring til etiketterne og rammerne.
ramme1 = Ramme (rod)
Etiket (ramme1, tekst="Betyder: ", skrifttype=("Arial 18 fed")).pakke (side=VENSTRE)
betydning = Etiket (ramme1, tekst="", skrifttype=("Arial 18"),wraplength=1000)
meaning.pack()
frame1.pack (pady=15)
Gentag de samme trin for synonym- og antonymrammer og etiketter.
ramme2 = Ramme (rod)
Etiket (ramme2, tekst="Synonym: ", skrifttype=("Arial 18 fed")).pakke (side=VENSTRE)
synonym = Etiket (ramme2, tekst="", skrifttype=("Arial 18"), wraplength=1000)
synonym.pack()
frame2.pack (pady=15)
ramme3 = Ramme (rod)
Etiket (ramme3, tekst="Antonym: ", skrifttype=("Arial 18 fed")).pakke (side=VENSTRE)
antonym = Etiket (ramme3, tekst="", skrifttype=("Arial 18"), wraplength=1000)
antonym.pack (side=LEFT)
frame3.pack (pady=20)
Definer en Indsend knap. Indstil det overordnede vindue, du vil placere knappen i, den tekst, den skal vise, den skrifttype, den skal have, og den funktion, den skal køre, når der klikkes på den. Det mainloop() funktion fortæller Python at køre Tkinter-hændelsesløkken og lytte efter hændelser, indtil du lukker vinduet.
Knap (rod, tekst="Indsend", skrifttype=("Arial 18 fed"), kommando=dict).pack()
root.mainloop()
Sæt al koden sammen, og din Ordbogsapplikation er klar til at teste.
Eksempeloutput fra Ordbogsappen
Når du kører ovenstående program, viser det appvinduet. Når du indtaster et ord, viser det ordets betydning og en liste over synonymer og antonymer.
Ordbaserede applikationer ved hjælp af Tkinter
Tkinter kommer med klasser til styring af vinduer og widgets til at bygge GUI-applikationer. Disse omfatter knapper, menuer, tekstbokse og tekstetiketter.
Når du har bygget den, kan du konvertere din Python-fil til en eksekverbar fil for at bruge den som et softwareprogram.