O aplicație python kivy pentru diversitatea alimentară

python

Studiez python kivy și pentru mine am decis să scriu o mică aplicație pentru a-mi diversifica dieta. A decis să împărtășesc. Articolul este conceput pentru începători în kivy. Aplicația necesită aproximativ 100 de linii de cod.

Scopul creării unei aplicații pentru biciclete:

  1. Evitați repetările frecvente în dietă. Să nu mănânci prea des același fel de mâncare.
  2. Nu am uitat felurile de mâncare pe care le-am mâncat, apoi am uitat și de ani de zile nu m-am mai întors la ele, pentru că nu mi-am amintit banal. Mi se întâmplă.

Introducere

Nu puteți citi în nici o versiune introductivă.

A trebuit să locuiesc într-o țară, în același hotel, unde erau hrăniți zilnic pentru micul dejun ouă și nimic mai mult, și după o lună a început să mă mâncărească. El a solicitat ajutor medical, deși nu suferise niciodată de așa ceva. După ce a învățat din experiența amară, după aceea, a decis pentru sine să permită cât mai puține repetări în mâncare, astfel încât să nu poată acumula nimic în corpul său. Aceasta este experiența mea personală, spun doar, fără să impun. Poate că nu există reguli, fără excepție, probabil că fulgi de ovăz pot fi consumați în fiecare zi timp de zeci de ani.

Capturi de ecran

Să presupunem că dieta mea constă din 50 de feluri de mâncare. De exemplu, astăzi am mâncat o omletă. Fac clic pe buton, iar omleta se află pe a 50-a linie din coadă și sunt 49 de feluri de mâncare în fața ei, pe care le voi mânca pentru a ajunge din nou la omletă. Aceasta este întreaga logică a aplicației. (Pe capturile de ecran, vasele sunt goale, toate coincidențele sunt întâmplătoare, nu au nicio legătură cu dieta mea reală).

Cod sursă și explicații

În mod deliberat nu am folosit fișiere kv, deoarece codul este dat în scopuri educaționale, pentru persoanele care sunt familiare cu python. Totul este scris pe piton gol. În explicații, nu mă voi opri asupra explicației codului python, ci merg imediat la caracteristicile specifice ale lui Kivy.


  • Clasa este responsabilă pentru lansarea paginii de pornire a aplicației, poate fi apelată după cum doriți, de exemplu StartScreen. Și moștenește modulul kivy Screen. Aplicația este formată din 3 ferestre, aceste ferestre sunt create folosind acest modul.

  • BoxLayout împarte ecranul în părți egale, orizontal în mod implicit, am scris orientare = 'vertical' pentru a împărți vertical

  • Buton - creează butoane, în on_press este setată funcția care va fi lansată la apăsare.
  • - adaugă butoane la straturi și ferestre

  • Aspectul grilei este oarecum similar cu eticheta tabelului din html, indicând cols - numărul de coloane sau rânduri - numărul de rânduri.

Puteți specifica ambii parametri sau un parametru.
Ecranul va fi împărțit în numărul dorit de compartimente.


  • RecycleView este modulul care creează derulare verticală în aplicația mea. O caracteristică a RecycleView este că construiește suluri cu elemente de aceeași lățime și înălțime. Și funcționează rapid. Și există un modul ScrollView, acesta poate construi suluri cu elemente de diferite dimensiuni, dar funcționează mai lent decât RecycleView
  • - în cod se găsesc deseori astfel de linii. Tocmai am folosit Config kivy ca magazin de date. Ei bine, să existe câteva mii de feluri de mâncare, nu are sens să faci o grădină cu sqlite și ceva similar. Toate datele sunt stocate într-un singur fișier. Acest fișier este stocat în același folder cu aplicația însăși, dacă specificați self.directory ca în codul meu, dar puteți specifica self.user_data_dir astfel încât acest fișier să nu fie distrus în timpul swapului sau actualizărilor.