Bouw deze eenvoudige, maar functionele app met behulp van de Tkinter-bibliotheek van Python.
Een woordenboek is een essentieel hulpmiddel bij het leren van een taal. Met beknopte definities wordt het leren en begrijpen van een taal veel gemakkelijker. Met de uitvinding van smartphones heb je binnen enkele minuten toegang tot zo'n onschatbare app.
Bouw een woordenboektoepassing met behulp van de Tkinter- en PyMultiDictionary-modules van Python om de betekenis, synoniemen en antoniemen van elk woord te achterhalen.
De modules Tkinter en PyMultiDictionary
Tkinter is de standaard Python GUI-bibliotheek die u kunt gebruiken om desktop-applicaties te maken. Het biedt een verscheidenheid aan widgets zoals knoppen, labels en tekstvakken, zodat u in een mum van tijd apps kunt ontwikkelen. U kunt het gebruiken om eenvoudige hulpprogramma's te maken, zoals een spelling corrector, of games als deze kleurherkenningstest.
Om Tkinter te installeren, opent u een terminal en voert u het volgende uit:
pip installeer tkinter
U kunt de PyMultiDictionary-module gebruiken om betekenissen, vertalingen, synoniemen en antoniemen van woorden in 20 verschillende talen te krijgen. Voer deze opdracht uit om PyMultiDictionary op uw systeem te installeren:
pip installeer PyMultiDictionary
Hoe een woordenboek-app te bouwen met behulp van Python
Hierin vind je de broncode van de Dictionary App GitHub-opslagplaats.
Begin met het importeren van de Tkinter- en de PyMultiDictionary-modules. Instantiseer de klasse MultiDictionary en initialiseer het hoofdvenster. Stel de titel en afmetingen van uw aanvraag in.
van tkinter importeren *
van PyMultiDictionary importeren MultiDictionary
woordenboek = MultiDictionary()
wortel = Tk()
hoofdmap.titel("Woordenwoordenboek met behulp van Python")
root.geometry("1250x750")
Definieer een functie, dicteren(). Deze functie stelt de tekst van de betekenis-, synoniem- en antoniemlabels in op het resultaat van elke methodeaanroep.
Geef de taal ("en" voor Engels) en het woord dat de gebruiker heeft ingevoerd door aan de betekenis methode. Deze methode retourneert een tuple met het woordtype, de woordenboekdefinitie en de beschrijving van Wikipedia. Extraheer de tweede waarde uit deze tuple - de definitie - en geef deze door aan de Label.config() methode.
Bel de synoniem En antoniem methoden, waarbij dezelfde parameters worden doorgegeven. Deze methoden retourneren elk een lijst die u direct aan config() kunt doorgeven.
defdict():
betekenis.config (tekst=woordenboek.betekenis('nl', word.get())[1])
synoniem.config (tekst=woordenboek.synoniem('nl', word.get()))
antonym.config (tekst=woordenboek.antonym('nl', word.get()))
Definieer een label om de naam van de toepassing weer te geven. Stel het venster in waarin u het label wilt plaatsen, de tekst die het moet hebben, de lettertypestijlen en de lettertypekleur. Gebruik de pak() methode om het label te ordenen door het een horizontale opvulling van 10 te geven.
Definieer een frame in het hoofdvenster en een label om de gebruiker te vragen een woord in te voeren. Geef de parameters door zoals voorheen en plaats de widget aan de linkerkant. Definieer een invoerwidget om de gebruiker een gebied te geven voor woordinvoer. Voeg het toe aan de kaderwidget en definieer ook de lettertypestijlen. Organiseer en voeg wat opvulling toe aan beide widgets.
Label (hoofdmap, tekst="Woordenwoordenboek met behulp van Python", lettertype=("Arial 36 vet"),
fg="Paars").pack (pady=10)
frame = frame (root)
Label (kader, tekst="Typ woord:", lettertype=("Arial 28 vet")).pak (zijkant=LINKS)
woord = Invoer (frame, font=("Arial 23 vet"))
woord.pakket()
frame.pack (pady=10)
Definieer een ander frame dat het betekenislabel bevat en een ander label dat de betekenis weergeeft door op de knop Verzenden te klikken. Plaats het in het kader dat u hierboven hebt gemaakt en stel de juiste lettertypestijlen in. Gebruik de wraplength-eigenschap om een lange zin in meerdere zinnen op te splitsen. De afmeting is ingesteld in schermeenheden.
Organiseer en voeg wat opvulling toe aan de labels en de kaders.
frame1 = Frame (wortel)
Label (frame1, tekst="Betekenis: ", lettertype=("Arial 18 vet")).pak (zijkant=LINKS)
betekenis = Label (frame1, tekst="", lettertype=("Ariel 18"),wikkellengte=1000)
betekenis.pakket()
frame1.pack (pady=15)
Herhaal dezelfde stappen voor de synoniem- en antoniemframes en labels.
frame2 = Frame (wortel)
Label (frame2, tekst="Synoniem: ", lettertype=("Arial 18 vet")).pak (zijkant=LINKS)
synoniem = Label (frame2, tekst="", lettertype=("Ariel 18"), wikkellengte=1000)
synoniem.pack()
frame2.pack (pady=15)
frame3 = Frame (root)
Label (frame3, tekst="Antoniem: ", lettertype=("Arial 18 vet")).pak (zijkant=LINKS)
antoniem = Label (frame3, tekst="", lettertype=("Ariel 18"), wikkellengte=1000)
antonym.pack (zijde=LINKS)
frame3.pack (pady=20)
Definieer een Indienen knop. Stel het bovenliggende venster in waarin u de knop wilt plaatsen, de tekst die moet worden weergegeven, de lettertypestijl die het moet hebben en de functie die moet worden uitgevoerd wanneer erop wordt geklikt. De Hoofdlus() functie vertelt Python om de Tkinter-gebeurtenislus uit te voeren en te luisteren naar gebeurtenissen totdat u het venster sluit.
Knop (hoofdmap, tekst="Indienen", lettertype=("Arial 18 vet"), commando=dict).pack()
root.mainloop()
Zet alle code bij elkaar en uw woordenboektoepassing is klaar om te testen.
Voorbeelduitvoer van de Dictionary-app
Wanneer u het bovenstaande programma uitvoert, wordt het app-venster weergegeven. Bij het invoeren van een woord wordt de betekenis van het woord weergegeven, evenals een lijst met synoniemen en antoniemen.
Op woorden gebaseerde applicaties met behulp van Tkinter
Tkinter wordt geleverd met klassen voor het beheren van vensters en widgets om GUI-applicaties te bouwen. Deze omvatten knoppen, menu's, tekstvakken en tekstlabels.
Als je het eenmaal hebt gebouwd, kun je je Python-bestand converteren naar een uitvoerbaar bestand om het als softwaretoepassing te gebruiken.