Bygg denna enkla men funktionella app med Pythons Tkinter-bibliotek.

En ordbok är en viktig resurs när man lär sig vilket språk som helst. Med kortfattade definitioner gör det att lära sig och förstå ett språk mycket lättare. Med uppfinningen av smartphones kan du komma åt en sådan ovärderlig app på några minuter.

Bygg en ordboksapplikation med Pythons Tkinter- och PyMultiDictionary-moduler för att få betydelsen, synonymerna och antonymerna för alla ord.

Modulerna Tkinter och PyMultiDictionary

Tkinter är det vanliga Python GUI-biblioteket som du kan använda för att skapa skrivbordsapplikationer. Den erbjuder en mängd olika widgets som knappar, etiketter och textrutor, så att du kan utveckla appar på nolltid. Du kan använda den för att skapa enkla verktyg som en stavningskorrigerare, eller spel som detta färgigenkänningstest.

För att installera Tkinter, öppna en terminal och kör:

pip installera tkinter

Du kan använda PyMultiDictionary-modulen för att få betydelser, översättningar, synonymer och antonymer av ord på 20 olika språk. För att installera PyMultiDictionary på ditt system, kör detta kommando:

instagram viewer

pip installera PyMultiDictionary

Hur man bygger en ordboksapp med Python

Du hittar källkoden till Dictionary-appen i denna GitHub-förråd.

Börja med att importera modulerna Tkinter och PyMultiDictionary. Instantiera klassen MultiDictionary och initiera rotfönstret. Ställ in titel och mått för din ansökan.

från tkinter importera *
från PyMultiDictionary importera Flerordbok

ordbok = MultiDictionary()
root = Tk()
root.title("Word Dictionary som använder Python")
root.geometry("1250x750")

Definiera en funktion, dikt(). Den här funktionen ställer in texten för betydelse-, synonym- och antonymetiketter till resultatet av varje metodanrop.

Skicka språket ("en" för engelska) och ordet som användaren skrev till menande metod. Denna metod returnerar en tuppel som innehåller ordtypen, dess ordboksdefinition och dess beskrivning från Wikipedia. Extrahera det andra värdet från denna tuppel – definitionen – och skicka det till Label.config()-metoden.

Ring synonym och antonym metoder som passerar samma parametrar. Dessa metoder returnerar var och en en lista som du kan skicka direkt till config().

defdikt():
meaning.config (text=dictionary.meaning('en', word.get())[1])
synonym.config (text=dictionary.synonym('en', word.get()))
antonym.config (text=dictionary.antonym('en', word.get()))

Definiera en etikett för att visa programmets namn. Ställ in fönstret du vill placera etiketten i, texten den ska ha och typsnittsstilarna tillsammans med teckensnittsfärgen. Använd packa() metod för att organisera etiketten genom att ge den en horisontell stoppning på 10.

Definiera en ram i rotfönstret och en etikett för att be användaren att ange ett ord. Passera parametrarna som tidigare och placera widgeten på vänster sida. Definiera en inmatningswidget för att ge användaren ett område för ordinmatning. Lägg till den i ramwidgeten och definiera också dess teckensnittsstilar. Organisera och lägg till lite utfyllnad till båda widgetarna.

Etikett (root, text="Word Dictionary som använder Python", typsnitt=("Arial 36 fet"),
 fg="Lila").pack (pady=10)

ram = Ram (rot)
Etikett (ram, text="Skriv ord:", typsnitt=("Arial 28 fet")).pack (sida=VÄNSTER)
word = Entry (ram, font=("Arial 23 fet"))
word.pack()
frame.pack (pady=10)

Definiera en annan ram som innehåller betydelseetiketten och en annan etikett som visar betydelsen genom att klicka på knappen Skicka. Placera den i ramen du skapade ovan och ställ in lämpliga teckensnittsstilar. Använd egenskapen wraplength för att slå in en lång mening till flera. Dess dimension är inställd i skärmenheter.

Ordna och lägg till lite stoppning på etiketterna och ramarna.

ram1 = Ram (rot)
Etikett (ram1, text="Betyder:", typsnitt=("Arial 18 fet")).pack (sida=VÄNSTER)
betydelse = Etikett (ram1, text="", typsnitt=("Arial 18"),wraplength=1000)
meaning.pack()
frame1.pack (pady=15)

Upprepa samma steg för synonym- och antonymramar och etiketter.

ram2 = Ram (rot)
Etikett (ram2, text="Synonym:", typsnitt=("Arial 18 fet")).pack (sida=VÄNSTER)
synonym = Etikett (ram2, text="", typsnitt=("Arial 18"), wraplength=1000)
synonym.pack()
frame2.pack (pady=15)

ram3 = Ram (rot)
Etikett (ram3, text="Antonym: ", typsnitt=("Arial 18 fet")).pack (sida=VÄNSTER)
antonym = Etikett (ram3, text="", typsnitt=("Arial 18"), wraplength=1000)
antonym.pack (side=LEFT)
frame3.pack (pady=20)

Definiera a Skicka in knapp. Ställ in det överordnade fönstret du vill placera knappen i, texten den ska visa, typsnittsstilen den ska ha och vilken funktion den ska köras när den klickas. De mainloop() funktionen säger åt Python att köra Tkinter-händelsslingan och lyssna efter händelser tills du stänger fönstret.

Knapp (root, text="Skicka in", typsnitt=("Arial 18 fet"), kommando=dict).pack()
root.mainloop()

Sätt ihop all kod och din Dictionary Application är redo att testas.

Exempel på utdata från Dictionary-appen

När du kör programmet ovan visas appfönstret. När du anger ett ord visar det ordets betydelse och en lista med synonymer och antonymer.

Ordbaserade applikationer som använder Tkinter

Tkinter kommer med klasser för att hantera fönster och widgets för att bygga GUI-applikationer. Dessa inkluderar knappar, menyer, textrutor och textetiketter.

När du har byggt den kan du konvertera din Python-fil till en körbar fil för att använda den som ett program.