Vikter är ett av de vanligaste måtten du behöver konvertera i vardagen, eftersom olika länder använder olika enheter. Ibland använder ett enskilt land olika enheter! En enkel viktomvandlarapp kan vara mycket användbar.
Att utveckla en sådan applikation är ett enkelt sätt att träna dina Python-programmeringsfärdigheter. Lär dig att bygga ett GUI och du kan snart börja bygga spel som Tic Tac Toe, Snake och Flappy Bird.
Så hur kan du använda Tkinter-modulen för att bygga en viktkonverteringsapplikation med Python?
Tkinter-modulen
Tkinter är standard Python-gränssnittet till Tk GUI-verktygssatsen som låter dig skapa skrivbordsapplikationer. Den erbjuder en mängd olika widgets som knappar, etiketter, textrutor och layouthanterare som gör det enkelt att utveckla applikationer utan större ansträngning.
Några av applikationerna du kan bygga med Tkinter inkluderar en GUI-kalender, en väckarklocka,
en miniräknare, ett anteckningsblock, en färgapplikation och skrivtestspel. För att installera Tkinter i ditt system, öppna en terminal och kör:pip installera tkinter
Hur man bygger en viktkonverteringsapplikation med Python
Du kan hitta källkoden för Weight Conversion-applikationen med Python i denna GitHub-förråd.
Importera Tkinter-modulen. Initiera Tkinter-instansen och visa rotfönstret. Ställ in måtten i pixlar och fönstrets titel.
importera tkinter som tk
från tkinter importera *
fönster = Tk()
window.title("Weight Converter App")
window.geometry("750x500")
Definiera en etikettwidget för att visa programmets rubrik. Ange det överordnade fönstret du vill placera det i, texten det ska visa, typsnittsstilen och teckensnittsfärgen. Organisera widgetarna i block innan du placerar dem i den överordnade widgeten med hjälp av packa() metod.
Definiera en funktion, convert_to_gram(). Använd skaffa sig() funktion för att hämta data som användaren tillhandahåller. Multiplicera värdet med 1000 för att få det i gram. Skapa en etikett för att visa vikten i gram och en annan för att visa det beräknade värdet.
Etikett (fönster, text="Weight Converter App",font=("Arial", 36 ),fg='#A020F0').packa()
kg = tk. IntVar()
defkonvertera_till_gram():
kg1 = kg.get()
gram = flyta (kg1) * 1000
Etikett (fönster, text="Vikt i gram:",font=("Arial", 18 )).packa()
Etikett (fönster, text=gram, font=("Arial", 18 )).packa()
Definiera på samma sätt två funktioner, convert_to_ounce() och konvertera till pund(). Utför samma steg som funktionerna ovan. För att konvertera kilogram till uns, multiplicera värdet med 35,274. För att dölja till pund, multiplicera med 2,20462.
defkonvertera_till_uns():
kg1 = kg.get()
uns = flyta (kg1) * 35.274
Etikett (fönster, text="Vikt i uns:",font=("Arial", 18 )).packa()
Etikett (fönster, text=ounce, font=("Arial", 18 )).packa()
defkonvertera_till_pund():
kg1 = kg.get()
pund = flyta (kg1) * 2.20462
Etikett (fönster, text="Vikt i pund:",font=("Arial", 18 )).packa()
Etikett (fönster, text=pound, font=("Arial", 18 )).packa()
Ange en etikett som ber användaren att ange vikten i kilogram. Definiera en inmatningswidget för att få input från användaren Ange det överordnade fönstret du vill placera den här widgeten i, textvariabel för att ge ett värde till en variabel och typsnittsstilen. Organisera widgeten med pakethanteraren.
Definiera tre knappar för att omvandla vikten i kg till gram, ounce och pund. Ange vilket fönster du vill placera dem i, texten den ska visa, bakgrundsfärgen, teckensnittsfärgen, funktionen den ska köra när den klickas och typsnittsstilen. Organisera och specificera lite utfyllnad, så att knapparna inte fastnar vid varandra.
Etikett (fönster, text="Ange vikten i kg",font=("Arial", 18 )).packa()
Entry (fönster, textvariable=kg, font=('arial', '13')).packa()
Knapp (fönster, text="Konvertera till Gram",bg="#A020F0", fg="#E0FFFF", kommando=konvertera_till_gram, teckensnitt=('arial', '13')).pack (pady=10)
Knapp (fönster, text="Konvertera till uns",bg="#A020F0", fg="#E0FFFF",command=convert_to_ounce, font=('arial', '13')).pack (pady=8)
Knapp (fönster, text="Konvertera till pund",bg="#A020F0", fg="#E0FFFF",command=convert_to_pound, font=('arial', '13')).pack (pady=8)
De mainloop() funktionen säger åt Python att köra Tkinter-händelsslingan och lyssna efter händelser (som knapptryckningar) tills du stänger fönstret.
window.mainloop()
Lägg ihop all kod så är din viktkonverteringsapp redo att användas.
Exempel på utdata från viktkonverteringsapplikationen
När programmet körs visar det ett fönster med rubriken, en inmatningsruta och tre knappar tillsammans med deras respektive etiketter. När du anger värdet som 30 kilogram och trycker på var och en av knapparna i följd, visar programmet de konverterade vikterna på skärmen.
30 kg omvandlas till 30 000 gram, 1 058,22 ounces och 66,1385 pund.
Använda Tkinter för att bygga skrivbordsapplikationer
Tkinter är en av de enklaste och mest kraftfulla modulerna för att utveckla GUI-applikationer i Python. Den stöder plattformsoberoende utveckling, med anpassningsbara och färdiga att använda widgets för att skapa vilken applikation som helst på några minuter.
Om du letar efter alternativ till Tkinter kan du utforska PyQt-modulen. PyQt är en Python-bindning för Qt. Det är en samling C++-bibliotek och utvecklingsverktyg som erbjuder abstraktioner för grafiska användargränssnitt över många plattformar. Du kan använda verktyg för nätverk, reguljära uttryck, SQL-databaser, XML och mer.