Ako zostaviť kalkulačku v Tkinter

Ako zostaviť kalkulačku v Tkinter

Python poskytuje množstvo nástrojov pre dátovú vedu, web a vývoj pre Android. Ale jedným z najlepších nástrojov, pokiaľ ide o programovací jazyk Python, je Tkinter pre grafické používateľské rozhranie. Knižnica Tkinter v pythone poskytuje GUI widgety, ktoré pomáhajú vytvárať užívateľsky prívetivé aplikácie. Tkinter sa ľahko používa, je ľahký a rýchly. Tkinter nemusíte inštalovať explicitne, pretože je predinštalovaný s Pythonom.

Pred pokračovaním v tomto návode by ste mali poznať základy balíka Tkinter v Pythone.

Základné nastavenie aplikácie

1. Import modulu

Prvým krokom pri zostavovaní aplikácie je import modulu. Pri importe modulu Tkinter budete musieť vytvoriť inštanciu objektu ttk .

import tkinter as ttk

2. Vytvorenie premennej okna

Ak chcete vytvoriť okno, musíte vytvoriť objekt okna pomocou ttk . Po vytvorení objektu okna môžete oknu priradiť názov a geometriu. Geometria nastaví výšku a šírku okna.

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

3. Hlavná slučka

Metóda mainloop() spúšťa okno v nekonečnej slučke. Beží nepretržite, pokiaľ používateľ nezatvorí okno manuálne.

win.mainloop()

Súvisiace: Začať vytvárať Desktop aplikácie v jazyku Python S Tkinter GUI knižnice

Vytváranie používateľského rozhrania

Balík Tkinter v Pythone má veľa widgetov, ktoré pomáhajú vytvárať užívateľsky prívetivé návrhy. Widgety použité v tomto projekte sú tlačidlá a textové polia. Pre tento projekt potrebujete nasledujúce tlačidlá: 0-9 čísel, sčítanie , odčítanie , násobenie , delenie , vymazať , vymazať , vypočítať .

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)

Widget tlačidla akceptuje mnoho argumentov: objekt okna, text zobrazený na tlačidle, štýl písma atď. Prijíma aj argument príkazu, ktorý spúšťa funkciu alebo metódu pri kliknutí na tlačidlo.

Ak chcete zarovnať tlačidlá v riadkoch a stĺpcoch pre používateľsky prívetivé používateľské rozhranie, použite atribút mriežky . Mriežka atribútu možno uviesť číslo riadka a číslo stĺpca ako argumenty zodpovedajúcim spôsobom zladiť tlačidiel.

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

Entry widget je textové pole v balíčku Python Tkinter. Pole Vstup zvyčajne akceptuje veľa argumentov, ale jedným z najdôležitejších a požadovaných argumentov je textová premenná . Užívateľ môže písať do poľa Vstup kvôli tomuto argumentu. Vo vyššie uvedenom kóde je premennej s názvom numericEq priradený atribút ttk.StringVar() na spravovanie widgetu Entry .

Súvisiace: Učíte sa Python? Tu je návod, ako manipulovať so strunami

Súbor Python môžete spustiť pomocou príkazu python názov_súboru.py . Aplikácia vyzerá takto:

Ako zostaviť kalkulačku v Tkinter

Pridanie funkcií k tlačidlám:

Ako sme už spomenuli, widget Button má atribút príkazu, ktorý akceptuje funkciu alebo metódu, ktorá sa má volať. Metódy, ktoré prešli po kliknutí na tlačidlá, používajú funkciu lambda .

1. Numerické a aritmetické tlačidlá

Číselné tlačidlá pozostávajú z hodnôt od 0 do 9 a aritmetické tlačidlá sú +, -, x, / pre účely výpočtu.

Metóda addToEq() sa zavolá po kliknutí na tlačidlo. Táto metóda odovzdáva čísla alebo aritmetické operátory v závislosti od tlačidla, na ktoré kliknete. Po odovzdaní hodnoty sa čísla alebo operátory uložia do premennej calcValue . Pred uložením hodnoty alebo operátora do premennej calcValue ho musíte skonvertovať na typ reťazca pomocou metódy str() .

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

2. Tlačidlá výpočtu

Tlačidlo s označením cal vypočíta celý reťazec uložený v premennej calcValue . Funkcia eval() pomáha vykonávať aritmetické operácie s premennou calcValue a vrátiť súčet. Po získaní hodnoty nastavte celkovú hodnotu v premennej numericEq . Na numericEq variabilný zobrazuje táto hodnota vo vstupnom poli.

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

3. Tlačidlo Clear

Tlačidlom vymazať sa vymaže pole Vstup . Po kliknutí na tlačidlo vymazať sa zavolá metóda clearInput() . Premenná calcValue je nastavená na prázdny reťazec a je uložená v poli Entry .

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

Po implementácii všetkých týchto metód bude výstup kódu vyzerať takto:

Ako zostaviť kalkulačku v Tkinter

Projekty sú najlepším spôsobom, ako zlepšiť svoje kódovacie zručnosti

Teraz, keď ste sa naučili, ako vytvoriť jednoduchú kalkulačku pomocou GUI v Python Tkinter, je čas, aby ste preskúmali ďalšie balíky Pythonu. Python má množstvo balíkov, ktoré vám pomôžu vytvoriť akúkoľvek aplikáciu, o ktorej môžete snívať.

Ako už pravdepodobne viete, projekty sú najlepší spôsob, ako predviesť svoje schopnosti. Budovanie projektov vám pomôže dobre sa zorientovať v jazyku a zostaviť si životopis.


Ako používať objektovo orientované programovanie v Pythone

Ako používať objektovo orientované programovanie v Pythone

Objektovo orientované programovanie (OOP) je forma programovania sústredená okolo objektov: malých jednotiek, ktoré kombinujú dáta a kód. Simula bol prvý OOP jazyk vytvorený na simuláciu fyzikálnych modelov. Pomocou OOP môžete definovať triedy, ktoré fungujú ako šablóny pre objekty špecifických typov.

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Bez virtuálneho prostredia nemôžete úspešne dokončiť skutočný projekt v Pythone. Nástroje ako virtualenvwrapper a virtualenv sú bežné na vytváranie a správu virtuálnych prostredí pre vývoj webu, zatiaľ čo anaconda je široko používaná dátovými vedcami.

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Programy zvyčajne potrebujú dátovú štruktúru na ukladanie dát, ktoré môžu potrebovať počas vykonávania. Normálne sú tieto údaje uložené v premenných alebo poliach. Problém je v tom, že sa stratí hneď, ako program dokončí vykonávanie. Je to preto, že ide o dočasné miesta v pamäti.

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Ak ste vývojár Pythonu, môžete výrazne ťažiť z množstva dostupných rámcov. Zatiaľ čo niektoré rámce sú najvhodnejšie pre veľké ekosystémy, iné sa špecializujú na poskytovanie špecifických rozvojových cieľov. Čítajte ďalej a dozviete sa základné funkcie, použitia a rozdiely medzi dvoma rámcami Pythonu: Flask a CherryPy.

WordPress vs. Wix: Kľúčové rozdiely

WordPress vs. Wix: Kľúčové rozdiely

Pri vytváraní webovej stránky pre seba alebo svoju firmu často čelíte klasickej dileme. WordPress vs. Wix – ktorý si vybrať a čo by bolo pre vás najlepšou voľbou?

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

Ak plánujete inovovať tému na svojom webe WordPress, pridať doplnky alebo radikálne zmeniť smer, je rozumné stráviť nejaký čas testovaním, kým sa zmeny prejavia.

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

WordPress používa veľa rôznych spoločností pre svoje systémy na správu obsahu. Preto rastie potreba vývojárov WordPress. Možno ste dokonca videli nejaké pracovné inzeráty na tieto pozície.

Ako nastaviť obrázok na pozadí v CSS

Ako nastaviť obrázok na pozadí v CSS

Vytvorenie webovej stránky je skvelý spôsob, ako sa vyjadriť. Aj keď existuje veľa nástrojov na vytváranie webových stránok, písanie vlastnými rukami je zábavný spôsob, ako sa dozvedieť viac o tom, ako webové stránky fungujú v zákulisí. Dobrým projektom pre začiatočníkov je vytvorenie webovej stránky a pridanie obrázka na pozadie pomocou CSS. Tento projekt vám pomôže začať používať HTML aj CSS.

Ako zostaviť kalkulačku v Tkinter

Ako zostaviť kalkulačku v Tkinter

Python poskytuje množstvo nástrojov pre dátovú vedu, web a vývoj pre Android. Ale jedným z najlepších nástrojov, pokiaľ ide o programovací jazyk Python, je Tkinter pre grafické používateľské rozhranie. Knižnica Tkinter v pythone poskytuje GUI widgety, ktoré pomáhajú vytvárať užívateľsky prívetivé aplikácie. Tkinter sa ľahko používa, je ľahký a rýchly. Tkinter nemusíte inštalovať explicitne, pretože je dodávaný s predinštalovaným Pythonom.

Čo je Kotlin? Stručný úvod

Čo je Kotlin? Stručný úvod

Od inaugurácie Kotlinu v roku 2011 spoločnosťou Jetbrain si v komunite vývojárov urobil dobré meno. Spomedzi všetkých staticky typovaných a univerzálnych jazykov stojí Kotlin na vyššej pôde v porovnaní s väčšinou programovacích jazykov, ktoré sa v tejto ére počítačovej vedy dajú naučiť.

6 krokov vývoja softvéru, ktoré by mali vedieť všetci programátori

6 krokov vývoja softvéru, ktoré by mali vedieť všetci programátori

Spustenie nového softvérového projektu môže byť zdrvujúce. Môže byť užitočné rozdeliť proces na menšie, lepšie zvládnuteľné kroky. Tradične bol vývoj softvéru rozdelený do šiestich krokov. Pomocou tohto procesu môže byť veľký projekt menej zastrašujúci.

9 znakov, že sa máte stať programátorom

9 znakov, že sa máte stať programátorom

Ak ste vyrastali okolo počítačov a máte talent na všetko, čo sa týka IT, možno máte na to, aby ste sa stali programátorom. Konkurovať na modernom trhu práce si vyžaduje veľa práce, takže už mať tie správne zručnosti vám dáva výhodu.

Naučte sa programovať Python na Raspberry Pi pomocou týchto príkazov a dátových štruktúr

Naučte sa programovať Python na Raspberry Pi pomocou týchto príkazov a dátových štruktúr

Raspberry Pi je jednodoskový počítač, ktorý bol vytvorený s cieľom sprístupniť prácu všetkým. S množstvom príslušenstva a podporou globálnej komunity slúži ako jemný úvod do fyzického počítača.

Naučte sa, ako si dnes zadarmo založiť blog pomocou týchto 7 stránok

Naučte sa, ako si dnes zadarmo založiť blog pomocou týchto 7 stránok

Založenie blogu, dokonca aj bezplatného, ​​je veľký krok – takže to nerobte bez toho, aby ste sa najskôr pripravili. Spoznajte kroky a najlepšie webové stránky pre nových blogerov.

Ako používať rekvizity v ReactJS

Ako používať rekvizity v ReactJS

V Reacte pojem rekvizity znamená vlastnosti a tieto rekvizity hrajú dôležitú úlohu v procese vývoja Reactu. Komponenty sú stavebnými kameňmi Reactu. Tieto komponenty používajú rekvizity na zlepšenie ich funkčnosti a na opätovné použitie kódu.

Ako vytvoriť model strojového učenia s Microsoft Lobe

Ako vytvoriť model strojového učenia s Microsoft Lobe

Strojové učenie je v dnešnej dobe všade, od filtrovania spamu a rozpoznávania tváre až po hlasových asistentov a autá bez vodiča. Na to, aby ste sa naučili používať túto vzrušujúcu technológiu, však nepotrebujete magisterský titul vďaka novej aplikácii od spoločnosti Microsoft s názvom Lobe.

Ako používať objektovo orientované programovanie v Pythone

Ako používať objektovo orientované programovanie v Pythone

Objektovo orientované programovanie (OOP) je forma programovania sústredená okolo objektov: malých jednotiek, ktoré kombinujú dáta a kód. Simula bol prvý OOP jazyk vytvorený na simuláciu fyzikálnych modelov. Pomocou OOP môžete definovať triedy, ktoré fungujú ako šablóny pre objekty špecifických typov.

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Ako efektívne vytvárať a spravovať svoje virtuálne prostredia Python

Bez virtuálneho prostredia nemôžete úspešne dokončiť skutočný projekt v Pythone. Nástroje ako virtualenvwrapper a virtualenv sú bežné na vytváranie a správu virtuálnych prostredí pre vývoj webu, zatiaľ čo anaconda je široko používaná dátovými vedcami.

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Manipulácia so súbormi v C: Príručka pre začiatočníkov

Programy zvyčajne potrebujú dátovú štruktúru na ukladanie dát, ktoré môžu potrebovať počas vykonávania. Normálne sú tieto údaje uložené v premenných alebo poliach. Problém je v tom, že sa stratí hneď, ako program dokončí vykonávanie. Je to preto, že ide o dočasné miesta v pamäti.

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Flask alebo CherryPy: Ktorý rámec Pythonu by ste mali použiť?

Ak ste vývojár Pythonu, môžete výrazne ťažiť z množstva dostupných rámcov. Zatiaľ čo niektoré rámce sú najvhodnejšie pre veľké ekosystémy, iné sa špecializujú na poskytovanie špecifických rozvojových cieľov. Čítajte ďalej a dozviete sa základné funkcie, použitia a rozdiely medzi dvoma rámcami Pythonu: Flask a CherryPy.

WordPress vs. Wix: Kľúčové rozdiely

WordPress vs. Wix: Kľúčové rozdiely

Pri vytváraní webovej stránky pre seba alebo svoju firmu často čelíte klasickej dileme. WordPress vs. Wix – ktorý si vybrať a čo by bolo pre vás najlepšou voľbou?

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

6 spôsobov, ako nastaviť testovaciu stránku pre WordPress Staging

Ak plánujete inovovať tému na svojom webe WordPress, pridať doplnky alebo radikálne zmeniť smer, je rozumné stráviť nejaký čas testovaním, kým sa zmeny prejavia.

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

Čo je vývojár WordPress? 5 zručností, ktoré musíte mať, ak ním chcete byť

WordPress používa veľa rôznych spoločností pre svoje systémy na správu obsahu. Preto rastie potreba vývojárov WordPress. Možno ste dokonca videli nejaké pracovné inzeráty na tieto pozície.

Ako nastaviť obrázok na pozadí v CSS

Ako nastaviť obrázok na pozadí v CSS

Vytvorenie webovej stránky je skvelý spôsob, ako sa vyjadriť. Aj keď existuje veľa nástrojov na vytváranie webových stránok, písanie vlastnými rukami je zábavný spôsob, ako sa dozvedieť viac o tom, ako webové stránky fungujú v zákulisí. Dobrým projektom pre začiatočníkov je vytvorenie webovej stránky a pridanie obrázka na pozadie pomocou CSS. Tento projekt vám pomôže začať používať HTML aj CSS.

Ako zostaviť kalkulačku v Tkinter

Ako zostaviť kalkulačku v Tkinter

Python poskytuje množstvo nástrojov pre dátovú vedu, web a vývoj pre Android. Ale jedným z najlepších nástrojov, pokiaľ ide o programovací jazyk Python, je Tkinter pre grafické používateľské rozhranie. Knižnica Tkinter v pythone poskytuje GUI widgety, ktoré pomáhajú vytvárať užívateľsky prívetivé aplikácie. Tkinter sa ľahko používa, je ľahký a rýchly. Tkinter nemusíte inštalovať explicitne, pretože je dodávaný s predinštalovaným Pythonom.

Čo je Kotlin? Stručný úvod

Čo je Kotlin? Stručný úvod

Od inaugurácie Kotlinu v roku 2011 spoločnosťou Jetbrain si v komunite vývojárov urobil dobré meno. Spomedzi všetkých staticky typovaných a univerzálnych jazykov stojí Kotlin na vyššej pôde v porovnaní s väčšinou programovacích jazykov, ktoré sa v tejto ére počítačovej vedy dajú naučiť.