Hogyan készítsünk számológépet a Tkinterben

Hogyan készítsünk számológépet a Tkinterben

A Python számos eszközt biztosít az adattudományhoz, a web- és az Android-fejlesztéshez. De a Python programozási nyelv egyik legjobb eszköze a Tkinter for Graphical User Interface. A python Tkinter könyvtára grafikus felületi widgeteket biztosít, amelyek segítenek felhasználóbarát alkalmazások létrehozásában. A Tkinter könnyen használható, könnyű és gyors. Nem kell kifejezetten telepítenie a Tkintert, mivel előre telepítve van a Pythonnal.

Mielőtt folytatná ezt az oktatóanyagot, ismernie kell a Python Tkinter-csomagjának alapjait.

Alapbeállítások az alkalmazáshoz

1. A modul importálása

Az alkalmazás létrehozásának első lépése a modul importálása. A Tkinter modul importálása közben példányosítania kell a ttk objektumot.

import tkinter as ttk

2. Az ablakváltozó létrehozása

Ablak létrehozásához létre kell hoznia egy ablak objektumot a ttk használatával . Az ablakobjektum létrehozása után az ablakhoz címet és geometriát rendelhet. A geometria beállítja az ablak magasságát és szélességét.

win = ttk.Tk() win.title('Simple Calculator') win.geometry('500x500')

3. MainLoop

A mainloop() metódus végtelen ciklusban futtatja az ablakot. Folyamatosan fut, hacsak a felhasználó nem zárja be kézzel az ablakot.

win.mainloop()

Kapcsolódó: Kezdet létrehozása asztali alkalmazások Python A Tkinter GUI Library

A felhasználói felület építése

A Pythonban található Tkinter-csomag számos widgetet tartalmaz, amelyek segítik a felhasználóbarát tervezést. A projektben használt widgetek gombok és szövegmezők . Ehhez a projekthez a következő gombokra van szüksége: 0-9 számok, összeadás , kivonás , szorzás , osztás , törlés , törlés , számítás .

oneButton = ttk.Button(win, text="1", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(1)) oneButton.grid(row=2, column=0,padx=2, pady=3) twoButton = ttk.Button(win, text="2", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(2)) twoButton.grid(row=2, column=1, padx=2, pady=3) threeButton = ttk.Button(win, text="3", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(3)) threeButton.grid(row=2, column=2, padx=2, pady=3) plusButton = ttk.Button(win, text="+", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq("+")) plusButton.grid(row=2, column=3, padx=2, pady=3) # div 2 fourButton = ttk.Button(win, text="4", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(4)) fourButton.grid(row=3, column=0, padx=2, pady=3) fiveButton = ttk.Button(win, text="5", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(5)) fiveButton.grid(row=3, column=1, padx=2, pady=3) sixButton = ttk.Button(win, text="6", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(6)) sixButton.grid(row=3, column=2, padx=2, pady=3) minusButton = ttk.Button(win, text="-", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq("-")) minusButton.grid(row=3, column=3, padx=2, pady=3) # div 3 sevenButton = ttk.Button(win, text="7", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(7)) sevenButton.grid(row=4, column=0, padx=2, pady=3) eightButton = ttk.Button(win, text="8", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(8)) eightButton.grid(row=4, column=1, padx=2, pady=3) nineButton = ttk.Button(win, text="9", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(9)) nineButton.grid(row=4, column=2, padx=2, pady=3) muxButton = ttk.Button(win, text="x", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq("*")) muxButton.grid(row=4, column=3, padx=2, pady=3) #div 4 zeroButton = ttk.Button(win, text="0", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq(0)) zeroButton.grid(row=5, column=0, padx=2, pady=3) clearButton = ttk.Button(win, text="clr", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=clearInput) clearButton.grid(row=5, column=1, padx=2, pady=3) calculateButton = ttk.Button(win, text="cal", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=calculateEq) calculateButton.grid(row=5, column=2, padx=2, pady=3) divideButton = ttk.Button(win, text="/", pady=10, padx=20, font = "Serif 15",bg = "black", fg = "white", command=lambda: addToEq("/")) divideButton.grid(row=5, column=3, padx=2, pady=3)

A gomb widget sok argumentumot fogad el: az ablak objektumot, a gombon megjelenő szöveget, betűstílust stb. Elfogad egy olyan parancs argumentumot is, amely a gombra kattintva futtat egy függvényt vagy metódust.

A gombok sorokban és oszlopokban történő igazításához egy felhasználóbarát felhasználói felület érdekében használja a grid attribútumot. A grid attribútum elfogadja a sorszámot és az oszlopszámot argumentumként a gombok megfelelő igazításához.

numericEq = ttk.StringVar() dataField = ttk.Entry(win, textvariable=numericEq, font="Serif 15") dataField.grid(row=0,columnspan=3, ipadx=80, ipady=15)

Az Entry widget a Python Tkinter csomag szövegdoboza. Az Entry mező általában sok argumentumot fogad el, de az egyik legfontosabb és legkövetelményesebb argumentum a textvariable . Ezen argumentum miatt a felhasználó beírhatja a Bevitel mezőt. A fenti kódban a numericEq nevű változóhoz egy ttk.StringVar() attribútum van hozzárendelve az Entry widget kezeléséhez .

Kapcsolódó: Python tanulás? Íme, hogyan kell manipulálni a karakterláncokkal

A Python fájlt a python file_name.py paranccsal futtathatja . Az alkalmazás így néz ki:

Hogyan készítsünk számológépet a Tkinterben

Funkciók hozzáadása a gombokhoz:

Amint azt korábban említettük, a Button widgetnek van egy parancsattribútuma, amely elfogadja a meghívandó függvényt vagy metódust. A gombokra kattintva átadott módszerek a lambda funkciót használják .

1. Numerikus és aritmetikai gombok

A számgombok 0-tól 9-ig terjedő értékekből állnak, az aritmetikai gombok pedig a +, -, x, / számítási célból.

Az addToEq() metódus a gombra kattintva meghívódik. Ez a módszer a rákattintott gombtól függően számokat vagy aritmetikai operátorokat ad át. Az érték átadása után a számok vagy operátorok a calcValue változóban tárolódnak . Mielőtt az értéket vagy operátort a calcValue változóban tárolná , az str() metódussal karakterlánc típusra kell konvertálnia .

def addToEq(x): calcValue = calcValue + str(x) numericEq.set(calcValue)

2. Számítsa ki a gombokat

A cal feliratú gomb a calcValue változóban tárolt teljes karakterláncot kiszámítja . Az eval() függvény segít aritmetikai műveletek végrehajtásában a calcValue változón, és visszaadja az összeget. Az érték lekérése után állítsa be a teljes értéket a numericEq változóban. A numericEq változó ezt az értéket jeleníti meg az Entry mezőben.

def calculateEq(): total = str(eval(calcValue)) numericEq.set(total)

3. Törlés gomb

A törlés gomb törli a Belépés mezőt. A törlés gombra kattintva a clearInput() metódus meghívódik. A calcValue változó üres karakterláncra van állítva, és az Entry mezőben tárolódik .

def clearInput(): calcValue = "" numericEq.set("")

Miután végrehajtotta ezeket a módszereket, a kód kimenete így néz ki:

Hogyan készítsünk számológépet a Tkinterben

A projektek a legjobb módja a kódolási készségek fejlesztésének

Most, hogy megtanulta, hogyan lehet egyszerű számológépet készíteni a Python Tkinter grafikus felhasználói felületével, itt az ideje, hogy felfedezzen más Python-csomagokat. A Python számos csomaggal rendelkezik, amelyek segítenek bármilyen alkalmazás elkészítésében, amelyet csak megálmodhatsz.

Amint azt valószínűleg már tudja, a projektek a legjobb módja annak, hogy bemutassa képességeit. Az építési projektek segítenek a nyelv megfelelő megértésében és az önéletrajz elkészítésében.


Az objektumorientált programozás használata Pythonban

Az objektumorientált programozás használata Pythonban

Az objektum-orientált programozás (OOP) a programozás egy formája, amelynek középpontjában az objektumok állnak: olyan kis egységek, amelyek egyesítik az adatokat és a kódot. A Simula volt az első OOP nyelv, amelyet fizikai modellek szimulálására hoztak létre. Az OOP használatával osztályokat definiálhat, amelyek sablonként működnek bizonyos típusú objektumok számára.

Python virtuális környezetek hatékony létrehozása és kezelése

Python virtuális környezetek hatékony létrehozása és kezelése

Virtuális környezet nélkül nem lehet sikeresen végrehajtani egy valós projektet Pythonban. Az olyan eszközök, mint a virtualenvwrapper és a virtualenv, általánosak a webfejlesztési virtuális környezetek létrehozására és kezelésére, míg az anacondát széles körben használják az adatkutatók.

Háttérkép beállítása CSS-ben

Háttérkép beállítása CSS-ben

A weboldal készítés nagyszerű módja annak, hogy kifejezze magát. Bár számos webhely-készítő eszköz létezik, saját maga megírása szórakoztató módja annak, hogy többet megtudjon a webhelyek színfalai mögötti működéséről. Egy jó kezdő projekt egy webhely létrehozása és háttérkép hozzáadása CSS-sel. Ez a projekt elindítja Önt a HTML és a CSS használatával.

Fájlkezelés a C-ben: Útmutató kezdőknek

Fájlkezelés a C-ben: Útmutató kezdőknek

A programoknak általában adatstruktúrára van szükségük a végrehajtás során szükséges adatok tárolására. Általában ezeket az adatokat változókban vagy tömbökben tárolják. Ezzel az a probléma, hogy elvész, amint a program befejezi a végrehajtást. Ez azért van, mert ezek ideiglenes memóriahelyek.

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Ha Ön Python-fejlesztő, nagy hasznot húzhat a rendelkezésre álló keretrendszerek tömbjéből. Míg egyes keretrendszerek a legmegfelelőbbek nagy ökoszisztémák számára, mások konkrét fejlesztési célok kiszolgálására specializálódtak. Olvasson tovább, hogy megismerje az alapvető funkciókat, használatot és a két Python-keretrendszer – a Flask és a CherryPy – közötti különbségeket.

WordPress vs. Wix: A legfontosabb különbségek

WordPress vs. Wix: A legfontosabb különbségek

Gyakran szembesül a klasszikus dilemmával, miközben webhelyet készít magának vagy vállalkozásának. WordPress vs. Wix – melyiket válassza, és mi lenne a legjobb választás az Ön számára?

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

Ha azt tervezi, hogy frissíti a témát a WordPress-webhelyén, bővítményeket ad hozzá, vagy radikálisan megváltoztatja az irányt, érdemes időt szánni a tesztelésre, mielőtt a változtatások életbe lépnek.

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

A WordPress-t sok különböző cég használja tartalomkezelő rendszereihez. Ezért egyre nagyobb az igény a WordPress fejlesztőkre. Lehet, hogy már látott néhány álláshirdetést ezekre a pozíciókra.

Hogyan készítsünk számológépet a Tkinterben

Hogyan készítsünk számológépet a Tkinterben

A Python számos eszközt biztosít az adattudományhoz, a web- és az Android-fejlesztéshez. De a Python programozási nyelv egyik legjobb eszköze a Tkinter for Graphical User Interface. A python Tkinter könyvtára grafikus felületi widgeteket biztosít, amelyek segítenek felhasználóbarát alkalmazások létrehozásában. A Tkinter könnyen használható, könnyű és gyors. Nem kell kifejezetten telepítenie a Tkintert, mivel előre telepítve van a Pythonnal.

Mi az a Kotlin? Rövid bevezető

Mi az a Kotlin? Rövid bevezető

A Kotlin 2011-es Jetbrain általi beiktatása óta nagy hírnevet szerzett a fejlesztők közösségében. A statikusan tipizált és általános célú nyelvek közül Kotlin magasabb szinten áll a számítástechnika e korszakában tanulni kívánt programozási nyelvek többségéhez képest.

9 jel, hogy programozó akar lenni

9 jel, hogy programozó akar lenni

Ha számítógépek körül nőtt fel, és mindenhez ért az IT-hez, akkor lehet, hogy képes lesz programozó lenni. A modern munkaerőpiacon való versenyzés nagyon sok munkát igényel, így már a megfelelő készségek birtokában előnyt jelent.

Tanuljon Python programozást Raspberry Pi-n ezekkel a parancsokkal és adatstruktúrákkal

Tanuljon Python programozást Raspberry Pi-n ezekkel a parancsokkal és adatstruktúrákkal

A Raspberry Pi egy egylapos számítógép, amelyet azért hoztak létre, hogy mindenki számára elérhetővé tegye a számítástechnikát. Rengeteg kiegészítővel és globális közösségi támogatással gyengéd bevezetésként szolgál a fizikai számítástechnikába.

Tanulja meg, hogyan indíthat ingyenes blogot még ma a 7 webhely segítségével

Tanulja meg, hogyan indíthat ingyenes blogot még ma a 7 webhely segítségével

Egy blog indítása, még ha ingyenes is, nagy lépés – ezért ne tedd meg anélkül, hogy előbb felkészülnél. Ismerje meg az új bloggerek lépéseit és legnépszerűbb webhelyeit.

A kellékek használata a ReactJS-ben

A kellékek használata a ReactJS-ben

A Reactban a kellékek kifejezés tulajdonságokat jelent, és ezek a kellékek létfontosságú szerepet játszanak a React fejlesztési folyamatában. Az összetevők a React építőkövei. Ezek az összetevők kellékeket használnak a funkcionalitásuk javítására és a kód újrafelhasználására.

Hogyan készítsünk gépi tanulási modellt a Microsoft Lobe segítségével

Hogyan készítsünk gépi tanulási modellt a Microsoft Lobe segítségével

A gépi tanulás manapság mindenhol jelen van, a spamszűréstől és az arcfelismeréstől a hangasszisztensekig és a vezető nélküli autókig. A Microsoft Lobe nevű új alkalmazásának köszönhetően azonban nincs szükség mesterképzésre ahhoz, hogy megtanulja használni ezt az izgalmas technológiát.

Az objektumorientált programozás használata Pythonban

Az objektumorientált programozás használata Pythonban

Az objektum-orientált programozás (OOP) a programozás egy formája, amelynek középpontjában az objektumok állnak: olyan kis egységek, amelyek egyesítik az adatokat és a kódot. A Simula volt az első OOP nyelv, amelyet fizikai modellek szimulálására hoztak létre. Az OOP használatával osztályokat definiálhat, amelyek sablonként működnek bizonyos típusú objektumok számára.

Python virtuális környezetek hatékony létrehozása és kezelése

Python virtuális környezetek hatékony létrehozása és kezelése

Virtuális környezet nélkül nem lehet sikeresen végrehajtani egy valós projektet Pythonban. Az olyan eszközök, mint a virtualenvwrapper és a virtualenv, általánosak a webfejlesztési virtuális környezetek létrehozására és kezelésére, míg az anacondát széles körben használják az adatkutatók.

Háttérkép beállítása CSS-ben

Háttérkép beállítása CSS-ben

A weboldal készítés nagyszerű módja annak, hogy kifejezze magát. Bár számos webhely-készítő eszköz létezik, saját maga megírása szórakoztató módja annak, hogy többet megtudjon a webhelyek színfalai mögötti működéséről. Egy jó kezdő projekt egy webhely létrehozása és háttérkép hozzáadása CSS-sel. Ez a projekt elindítja Önt a HTML és a CSS használatával.

Fájlkezelés a C-ben: Útmutató kezdőknek

Fájlkezelés a C-ben: Útmutató kezdőknek

A programoknak általában adatstruktúrára van szükségük a végrehajtás során szükséges adatok tárolására. Általában ezeket az adatokat változókban vagy tömbökben tárolják. Ezzel az a probléma, hogy elvész, amint a program befejezi a végrehajtást. Ez azért van, mert ezek ideiglenes memóriahelyek.

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Ha Ön Python-fejlesztő, nagy hasznot húzhat a rendelkezésre álló keretrendszerek tömbjéből. Míg egyes keretrendszerek a legmegfelelőbbek nagy ökoszisztémák számára, mások konkrét fejlesztési célok kiszolgálására specializálódtak. Olvasson tovább, hogy megismerje az alapvető funkciókat, használatot és a két Python-keretrendszer – a Flask és a CherryPy – közötti különbségeket.

WordPress vs. Wix: A legfontosabb különbségek

WordPress vs. Wix: A legfontosabb különbségek

Gyakran szembesül a klasszikus dilemmával, miközben webhelyet készít magának vagy vállalkozásának. WordPress vs. Wix – melyiket válassza, és mi lenne a legjobb választás az Ön számára?

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

Ha azt tervezi, hogy frissíti a témát a WordPress-webhelyén, bővítményeket ad hozzá, vagy radikálisan megváltoztatja az irányt, érdemes időt szánni a tesztelésre, mielőtt a változtatások életbe lépnek.

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

A WordPress-t sok különböző cég használja tartalomkezelő rendszereihez. Ezért egyre nagyobb az igény a WordPress fejlesztőkre. Lehet, hogy már látott néhány álláshirdetést ezekre a pozíciókra.

Hogyan készítsünk számológépet a Tkinterben

Hogyan készítsünk számológépet a Tkinterben

A Python számos eszközt biztosít az adattudományhoz, a web- és az Android-fejlesztéshez. De a Python programozási nyelv egyik legjobb eszköze a Tkinter for Graphical User Interface. A python Tkinter könyvtára grafikus felületi widgeteket biztosít, amelyek segítenek felhasználóbarát alkalmazások létrehozásában. A Tkinter könnyen használható, könnyű és gyors. Nem kell kifejezetten telepítenie a Tkintert, mivel előre telepítve van a Pythonnal.

Mi az a Kotlin? Rövid bevezető

Mi az a Kotlin? Rövid bevezető

A Kotlin 2011-es Jetbrain általi beiktatása óta nagy hírnevet szerzett a fejlesztők közösségében. A statikusan tipizált és általános célú nyelvek közül Kotlin magasabb szinten áll a számítástechnika e korszakában tanulni kívánt programozási nyelvek többségéhez képest.