0% au considerat acest document util (0 voturi)
18 vizualizări168 pagini

Proiecte Cu Python (GUI & Tkinter)

Acest document oferă o introducere și o prezentare generală a Tkinter, o bibliotecă Python utilizată pentru construirea interfețelor grafice cu utilizatorul (GUI). Acesta discută despre cerințele preliminare, diferitele opțiuni de programare GUI în Python, ce este Tkinter și originile sale în Tcl și Tk, cum să instalați Tkinter și conceptele de bază ale programării GUI, cum ar fi ferontele și widget-urile. Documentul este împărțit în mai multe părți care oferă tutoriale și exemple pe diferite widget-uri și caracteristici Tkinter pentru construirea aplicațiilor GUI în Python.

Încărcat de

ScribdTranslations
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
18 vizualizări168 pagini

Proiecte Cu Python (GUI & Tkinter)

Acest document oferă o introducere și o prezentare generală a Tkinter, o bibliotecă Python utilizată pentru construirea interfețelor grafice cu utilizatorul (GUI). Acesta discută despre cerințele preliminare, diferitele opțiuni de programare GUI în Python, ce este Tkinter și originile sale în Tcl și Tk, cum să instalați Tkinter și conceptele de bază ale programării GUI, cum ar fi ferontele și widget-urile. Documentul este împărțit în mai multe părți care oferă tutoriale și exemple pe diferite widget-uri și caracteristici Tkinter pentru construirea aplicațiilor GUI în Python.

Încărcat de

ScribdTranslations
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Despre autori

Python este unul dintre cele mai populare ș i versatili limbaje de programare
limbile din industria tehnologică. Cu toate acestea, în ciuda faptului că
popularitate ș i versatilitate, stăpânirea lor poate fi o provocare,
în special pentru începători. Provocări tehnice, cum ar fi
dezgheț area ș i termenele strânse pot cauza stres ș i anxietate,
ș i avansarea în carieră ș i menț inerea la curent cu cele mai recente
Dezvoltările în domeniu pot fi copleș itoare.

Table of Contents
Conț inuturi
Despre Autori
Table of Contents
Proiecte GUI Tkinter cu Python
PART 1: Introducere în modulul Tkinter Python
Cerinț e preliminare pentru Tkinter

Programare GUI în Python


Ce este Tkinter?
Ce sunt Tcl, Tk ș i Tkinter?
Instalează Tkinter
Adăugarea Tk la aplicaț iile dumneavoastră

Primul exemplu Tkinter


Metode Tkinter folosite mai sus:
Summary:
PART 2: Feronici Tkinter, Widget-uri ș i Cadre
Introducere în feronerie ș i feronerie Tkinter
Procesare bazată pe evenimente Tkinter

Feronare Tkinter
Fereastra de top-level Tkinter

Widgets Tkinter
Cadre Tkinter
Exemplu de bază Tkinter
Summary:
PART 3: Feronici Tkinter
Feronetele Tkinter
Exemplu de feronerie Tkinter:
Fereastră personalizată Tkinter

Rezumat:
PART 4: Widget-uri Python Tkinter
Widgeturi Tkinter
Rezumat:
PART 5: Managerul de Geometrie Tkinter Python
Controlul aspectului aplicaț iei Tkinter
1. Tkinter pack() Manager de geometrie
Algoritm de ambalare:
Exemplu de manager de geometrie Tkinter pack() :

Tkinter pack() cu parametrii


2. Manager de geometrie Tkinter grid()
Exemplu de Manager Geometric Tkinter grid() :
3. Trinket place() Manager de geometrie
Exemplu de Manager de Geometrie place() în Tkinter:

Summary:
PART 6: Widget-ul Label Tkinter din Python
Widget-ul Label Tkinter
Exemplu de widget Label Tkinter
Widgetul Label Tkinter - Un alt exemplu
Summary:
PART 7: Widgetul Buton Tkinter Python
Widget de Buton Tkinter
Exemplu de Widget Buton Tkinter
Widget-ul Button Tkinter - Adăugaț i stil ș i manejer de evenimente

Rezumat:
PART 8: Widget Checkbutton Python Tkinter
Widget-ul Checkbutton Tkinter
Metodele widget-ului Checkbutton Tkinter:
Exemplu de widget Checkbutton Tkinter
Summary
PART 9: Widget-ul Radiobutton în Python Tkinter
Widgetul Radiobutton Tkinter
Metodele widget-ului Radiobutton Tkinter:
Exemplu de widget Radiobutton Tkinter
Widgetul Radiobutton Tkinter Un Alt Exemplu
Summary:
PART 10: Widgetul Entry din Python Tkinter
Widget de introducere Tkinter

Exemplu de widget Entry Tkinter


Summary
PART 11: Widgetul de mesaj Tkinter în Python
Widgetul de mesaj Tkinter
Exemplu de widget Message Tkinter
Rezumat:
PART 12: Widget de meniu Tkinter Python
Widget de meniu Tkinter
Exemplu de Widget Menu Tkinter
Rezumat:
PART 13: Widgetul Menubutton Tkinter din Python
Widget Menubutton Tkinter
Opț iuni pentru widgetul Menubutton Tkinter:

Exemplu de widget Menubutton Tkinter


PART 14: Widgetul Frame Tkinter din Python
Widget de cadru Tkinter
Exemplu de Widget Frame Tkinter
Summary
PART 15: Widget-ul Canvas Tkinter din Python
Widgetul Canvas Tkinter
Exemplu de bază al widgetului Canvas Tkinter
Widgetul Tkinter Canvas - Diagramă de tip plăcintă utilizând arce

Rezumat:
PART 16: Widget-ul Listbox din Python Tkinter
Widget Listbox Tkinter
Opț iuni pentru widget-ul Listbox Tkinter:

Exemplu de widget ListBox Tkinter


Summary:
PART 17: Widget Scrollbar Tkinter Python
Widget Scrollbar Tkinter
Opț iuni pentru widgetul Scrollbar Tkinter:

Metodele widgetului Scrollbar Tkinter:


Exemplu de widget Scrollbar Tkinter
Summary:
PART 18: Widget Scale Python Tkinter
Widget-ul Scale Tkinter
Metodele widget-ului Scale Tkinter

Widget Tkinter Scale - Exemplu Orizontal


Widget Scale Tkinter -VeExemplu vertical
Summary:
PART 19: Widget Toplevel Tkinter Python
Widget-ul Toplevel din Python Tkinter

Exemplu de widget Toplevel Tkinter


Summary:
PART 20: Widget-ul Spinbox Tkinter Python
Widget Spinbox Tkinter
Exemplu de widget Spinbox Tkinter
Summary:
PART 21: Widget LabelFrame Tkinter Python
Widget LabelFrame Tkinter
Exemplu de Widget LabelFrame Tkinter
Summary:
PART 22: Widgetul PanedWindow din Python Tkinter
Widget-ul PanedWindow Tkinter
Metodele Widgetului PanedWindow Tkinter:
Exemplu de widget PanedWindow Tkinter
Widgetul PanedWindow Tkinter - Exemplu cu Panouri Multiple
Rezumat:
PART 23: Widgetul Text Tkinter Python
Widgetul Text Tkinter
Metodele widget-ului Text Tkinter:
Metode pentru gestionarea etichetelor

Metode pentru gestionarea marcajelor

Exemplu de Widget Text Tkinter


Summary:
PART 24: Python Tkinter MessageBox
Tkinter MessageBox
Tkinter MessageBox - arată avertizare()
Tkinter MessageBox - askquestion()
Tkinter MessageBox - askretrycancel()
Tkinter MessageBox - showerror()
Sumar:
PART 25: Aplicaț ie de calculator folosind Tkinter (Proiect Python)
Ce este un calculator?
Cod aplicaț ie calculator

Sumar:
PART 26: Aplicaț ie de Editor de Text Folosind Tkinter (Proiect Python)
1. Crearea tuturor widgeturilor necesare
Explicaț ia codului de mai sus:
[Link] aspectului aplicaț iei
1. Funcț ie pentru a deschide fiș ierul

Explicaț ie:
Funcț ia de Salvare a Fiș ierului
Explicaț ie:
PART 27: Aplicaț ie de redare muzică folosind Tkinter (Proiect Python)
Biblioteci utilizate pentru aplicaț ia de redare muzicală:

1. Tkinter
2. Modul Pygame

3. Modul OS
Clasa MusicPlayer
1. Constructor _init_
Funcț ia playsong()
3. Funcț ia stopsong()
4. Funcț ia pausesong()
5. Funcț ia unpausesong()
6. Looparea ferestrei de bază

PART 28: Joc Brick Breaker folosind Tkinter (Proiect Python)


{"Prerequisites":"Cerinț e preliminare"}
Cod pentru jocul Brick Breaker
Clasa GameObject
Clasa Minge
Clasa de canotaj

Clasa Cărămidă
Clasa Joc
Cod complet pentru jocul Brick Breaker:
Brick Breaker Game UI:
PART 29: Aplicaț ie de calculator folosind limbajul Python
Ce este un calculator?
Cod sursă pentru aplicaț ia de calculator
Summary:
PART 30: Ceas de alarmă folosind limbajul Python
Paș i pentru a face un ceas deș teptător folosind Python.
Ceas de alarmă folosind Python cu cod sursă
Cod pentru importarea modulelor

Cod pentru modulul Timp Actual


Codul pentru modul de setare a alarmei
Cod pentru GUI
Cod sursă complet pentru ceasul deşteptător folosind Python

Concluzie
PART 31: Joc de ghicit numere în Python
Regulile jocului de ghicit numere

Implementarea jocului de ghicit numărul în limbajul Python


PART 32: Joc Python: Piatră, Hârtie, Foarfecă
Cod sursă pentru Piatră, Hârtie ș i Foarfecă
Atribuie o alegere computerului
2. Primiț i input de la jucător
3. Folosind un ciclu while pentru a juca mai multe runde

4. Afiș are scor


5. Opț iunea de a juca din nou sau de a ieș i

Ieşire-
PART 33: Aplicaț ie de Notificare pe Desktop Proiect Python
CeYoVeț i descoperi în acest articol
Pasul 1: Importarea bibliotecilor

Pasul 2: Recuperarea datelor de pe web


Pasul 3: Crearea unei notificări personalizate

Cod sursă pentru aplicaț ia de notificare pe desktop

Output:
Cum pot dezactiva notificările?
Concluzie

Proiecte GUI Tkinter cu


Python
PARTEA 1: Introducere în
Modulul Python Tkinter
În acest tutorial, vom acoperi o introducere în Tkinter, este
cerinț e preliminare, diferite modalităț i de programare GUI, cum să
instalează Tkinter ș i funcț ionează.
Tkinter este o bibliotecă standard în Python folosită pentru
creatingGraphical User Interface (GUI)for Desktop
Aplicaț ii. Cu ajutorul Tkinter dezvoltaț i desktop
aplicaț iile nu sunt o sarcină dificilă.
Toolkit-ul principal de interfaț ă grafică (GUI) pe care îl vom folosi este Tk, care este

Biblioteca GUI implicită a Python. Vom accesa Tk din Python


interfaț ă numită Tkinter (prescurtare pentru interfaț a Tk).

Cerinț e preliminare pentru Tkinter


Înainte de a învăț a Tkinter, ar trebui să ai cunoș tinț e de bază despre
Python. Poț i învăț a Python folosind resursele noastrePython complet
Tutorial.

Programare GUI în Python


Există multe modalităț i de a dezvolta programe bazate pe GUI în
Python. Aceste moduri diferite sunt date mai jos:

[Link]:
În Python, Tkinter este o interfaț ă grafică standard pentru utilizator.
pachetul) Tkinter este GUI-ul implicit al Python
modul ș i, de asemenea, cea mai comună modalitate care este utilizată
pentru programarea GUI în Python. Reț ineț i că Tkinter este un
set de wrapperi care implementează widget-urile Tk ca Python
cursuri.

[Link]:
Aceasta este, practic, o interfaț ă grafică open-source, multiplatformă.
un set de instrumente care este scris în C++. De asemenea, o alternativă la
Tkinter.
[Link]:
JPython este o platformă Python pentru Java care oferă
Acces fără probleme al scripturilor Python la clasa Java
Biblioteci pentru maș ina locală.
Vom aborda programarea GUI cu Tkinter.

Ce este Tkinter?
Tkinter în Python ajută la crearea aplicaț iilor GUI cu un
minim deranj. Printre diversele cadre GUI, Tkinter este
singurul cadru care este integrat în Standardul Python
Bibliotecă.

O caracteristică importantă în favoarea Tkinter este că


este cross-platform, astfel încât acelaș i cod poate funcț iona uș or
pe Windows, macOS ș i Linux.
Tkinter este un modul uș or.
Este simplu de folosit.

Ce sunt Tcl, Tk ș i Tkinter?


Să încercăm să înț elegem mai bine modulul Tkinter prin
discutând mai mult despre originea sa.

Aș a cum s-a menț ionat, Tkinter este GUI-ul implicit al Python-ului

bibliotecă, care nu este altceva decât un modul wrapper pe


vârful toolkit-ului Tk.
Tkinter se bazează pe toolkit-ul Tk, ș i care a fost
iniț ial conceput pentru Tool Command
Limbaj (Tcl). Deoarece Tk este foarte popular, acesta are
a fost portat într-o varietate de alte scripturi
limbaje, inclusiv Perl (Perl/Tk), Ruby
(Ruby/Tk) ș i Python (Tkinter).
portabilitatea ș i flexibilitatea dezvoltării GUI
Tkmakes este un instrument potrivit care poate fi folosit pentru
proiectează ș i implementează o varietate largă de
aplicaț ii GUI de calitate comercială.
Python cu Tkinter ne oferă o experienț ă mai rapidă ș i
o modalitate eficientă pentru a construi aplicaț ii utile
ar fi durat mult timp dacă ai fi fost nevoit să
programează direct în C/C++ cu ajutorul nativ
Biblioteci de sistem OS.
Odată ce avem Tkinter funcț ional, vom folosi
blocuri de construcț ie de bază cunoscute sub denumirea de widgeturi pentru a crea un

o varietate de aplicaț ii desktop.

Instalaț i Tkinter
Probabil că Tkinter este deja instalat pe sistemul tău
sistem împreună cu Python. Dar nu este întotdeauna adevărat. Aș a că să
verifică mai întâi dacă este disponibil.

Dacă nu aveț i Python instalat pe sistemul dumneavoastră - Instalaț i


Python 3.8 mai întâi, ș i apoi verifici pentru Tkinter.

Puteț i determina dacă Tkinter este disponibil pentru dumneavoastră


interpretul Python prin încercarea de a importa Tkinter
modul - Dacă Tkinter este disponibil, atunci nu vor exista erori,
aș a cum este demonstrat în următorul cod:
importtkinter
Nimic nu a explodat, aș a că ș tim că avem Tkinter disponibil. Dacă
dacă vezi vreo eroare, cum ar fi modul lipsă, etc., atunci
interpreterul tău Python nu a fost compilat cu Tkinter
activat, importul modulului eș uează ș i s-ar putea să fie nevoie să
recompilează interpretorul tău Python pentru a obț ine acces la Tkinter.

Adăugarea Tk în aplicaț iile tale


Paș ii de bază pentru configurarea unei aplicaț ii GUI folosind Tkinter
Python are următoarele:

În primul rând, importă modulul Tkinter.


2. Al doilea pas este să creaț i o fereastră de nivel superior
obiectul care conț ine întreaga aplicaț ie GUI.
3. Apoi, în al treilea pas, trebuie să configurezi tot ce ai nevoie.
Componentele GUI ș i funcț ionalitatea acestora.
4. Apoi trebuie să conectezi aceste componente GUI la
codul aplicaț iei de bază.
5. Apoi, pur ș i simplu introduceț i bucla principală de evenimente folosind mainloop()

Paș ii de mai sus ar putea suna ca o prostie acum. Dar doar citeș te
pe toate, ș i vom explica totul pe măsură ce ne desfăș urăm
acest tutorial.

Primul exemplu Tkinter


După cum s-a menț ionat anterior, în programarea GUI, toate principalele
widget-urile sunt construite doar pe obiectul ferestrei de nivel superior.

Obiectul ferestrei de nivel superior este creat de clasa Tk


înTkinter.
Să creăm o fereastră de nivel superior:
importătkinterastk
win = [Link]()
###you can add widgets here
[Link]()

Metode Tkinter utilizate mai sus:


Cele două metode principale sunt folosite în timp ce se creează Python
aplicaț ie cu interfaț ă grafică. Trebuie să le aminteș ti ș i
acestea sunt date mai jos:
[Link](screenName=None, baseName=None,
className=‘Tk’, useTk=1)
Această metodă este folosită în principal pentru a crea fereastra principală.
poț i schimba ș i numele feroniei dacă vrei, doar prin
schimbând numele clasei în cel dorit.
Codul utilizat pentru a crea fereastra principală a aplicaț iei este
ș i l-am folosit ș i în exemplul nostru de mai sus:
win = [Link]() ## unde win indică numele principal
obiectul fereastră

2. Funcț ia Themainloop()
Această metodă este folosită pentru a porni aplicaț ia.
Funcț ia mainloop() este o buclă infinită care este folosită pentru a rula
aplicaț ia, va aș tepta să apară un eveniment ș i să proceseze
evenimentul atâta timp cât fereastra nu este închisă.

Summary:
Cu aceasta am încheiat introducerea în Tkinter, noi
am instalat modulul Tkinter ș i ș tiu chiar ș i ce sunt
Feronici ș i Widgeturi în Tkinter. De asemenea, ne creăm primul
Aplicaț ie GUI Tkinter ș i rulaț i-o. În următorul tutorial, vom învăț a
mai multe despre widget-urile Python Tkinter.
PARTEA 2: Feronerie Tkinter,
Widgeturi ș i rame
În acest tutorial, vom acoperi elementele de bază ale modulului Tkinter,
pentru a explica ce este un TkinterWindow, Widgets, ș i
Frame-urile care sunt bazele aplicaț iei GUI în
Tkinter.

Introducere în feroneriile Tkinter ș i


Widget-uri
Să ne adâncim puț in mai mult, pentru a înț elege câteva noț iuni de bază despre
modulul Tkinter ș i cum funcț ionează.

Obiectul feronierului de nivel superior în programarea GUI


conț ine toate micile obiecte fereastră care vor fi
Partea din interfaț a ta grafică completă.

Obiectele mici ale feronteriilor pot fi text


etichete, butoane, liste derulante etc., ș i aceste individual
micile componente GUI sunt cunoscute sub numele de Widgets.
Aș adar, având un obiect fereastră de nivel înalt va acț iona ca un
container în care vei pune toate widget-urile tale. În
Python, ai face de obicei aș a folosind
codul următor: win = [Link]()
Obiectul care este returnat prin efectuarea unui apel
[Link]() este de obicei denumit Rădăcină
Fereastră.
Feronierile de nivel superior sunt în principal independente ca parte
aplicaț iei tale, de asemenea poț i avea mai mult decât
o fereastră de nivel superior pentru GUI-ul tău, dar doar una dintre
ele ar trebui să fie fereastra ta principală.

În primul rând, trebuie să proiectezi toate widget-urile tale.


complet, apoi adaugă funcț ionalitatea reală.
Widgeturile pot fi fie independente, fie pot
fii containere. Dacă un widget conț ine alte widget-uri,
este considerat părintele acestor widget-uri.
În mod similar, dacă un widget este conț inut într-un altul
widget, este cunoscut ca un copil al
părintele, părintele este următorul închis imediat
widget container.
Widget-urile au, de asemenea, comportamente asociate,
cum ar fi atunci când un buton este apăsat sau un text este completat
într-un câmp text, aș a că avem evenimente ataș ate la acestea
acț iuni.
Comportamentul widget-urilor generează evenimente, iar
răspunsul GUI-ului la evenimente este cunoscut
ca ș i callback-uri - pentru că ele 'apelează' o funcț ie doar pentru a
gestionaț i evenimentul care a avut loc.

Procesare bazată pe evenimente Tkinter


În Tkinter, avem feronerie ș i widgeturi care se reunesc pentru a
form a GUI application. But the GUI application is just the
frontend-ul aplicaț iei. Ai dori să execuț i ceva
logica codului atunci când utilizatorul final foloseș te acele widgeturi.

Ori de câte ori o acț iune este efectuată pe un widget, un eveniment este
generated, which we can handle to perform any operation.
Evenimentele (comportamentul widget-urilor) pot include apăsarea unui
button,movement of the mouse,hitting the return
sau tasta Enter, câș tigând sau pierzând „focus”, etc.
Întregul sistem de evenimente care are loc de la
începutul până la sfârș itul oricărei interfeț e grafice
aplicaț ia este ceea ce îl conduce ș i, prin urmare, este de asemenea
cunoscut ca Procesare Pe Bază de Evenimente.
Să luăm un exemplu simplu de miș care a mouse-ului:
Presupunem că cursorul mouse-ului este doar aș ezat.
undeva, deasupra aplicaț iei tale GUI. Dacă tu
va muta mouse-ul într-o altă parte a dumneavoastră
aplicaț ie, ceva trebuie să cauzeze miș carea
mouse-ul să fie replicat de cursorul de pe
ecran (deasupra aplicaț iei tale GUI). Aceste
sunt evenimente de 'miș care a cursorului' pe care sistemul trebuie să le
proces pentru a ilustra cursorul tău miș cându-se peste
fereastră. La momentul în care te vei opri din miș care
mouse, nu mai trebuie procesate alte evenimente, aș a că
totul rămâne din nou nemiș cat pe ecran.
Iată câteva definiț ii de bază prin care vei fi
capabil să înț eleagă conceptul de feronerie, widget-uri ș i
frame-uri în Tkinter.

Feronț ele Tkinter


Termenul „Fereastră” are diferite semnificaț ii în diferite
În general, „fereastră” se referă la o zonă rectangulară
într-un loc pe ecranul de afiș are al utilizatorului prin care tu
poate interacț iona.

Apoi apare conceptul de Fereastră de Nivel Înalt în


Tkinter.
Fereastra de nivel superior Tkinter
Fereastra de nivel superior este o fereastră care există
independent pe ecran. Poț i decora nivelul superior
fereastră cu cadru standard ș i controale pentru desktop
manager. De obicei, poate fi mutat pe desktop ș i
de asemenea, poț i să-l redimensionezi dacă vrei să faci acest lucru.
Apoi vine conceptul de Widget-uri. Să încercăm să
înț elege-l.

Widget-uri Tkinter
Termenul „Widgets” este un termen generic care se referă la
blocurile de construcț ie care alcătuiesc o aplicaț ie într-o
interfaț ă grafică de utilizator.

Să enumerăm widget-urile de bază împreună cu categoriile lor:

Container
Sub această categorie, widget-urile care se află sunt cadre,
cadru de etichete, fereastră de nivel superior ș i fereastră divizată.

Butonii
Sub categoria Butoane, există butoane,
butoane radio, butoane de verificare (checkbox) ș i butoane de meniu.

Widget-uri de text
Sub categoria widget-urilor de text, există etichete,
text
Widgeturi de Intrare

Sub această categorie, widget-urile sunt scală, scrollbar,


Listbox, slider, spinbox, intrare (un singur rând), meniu de opț iuni,
text (multilinie), ș i canvas (grafica vectorială ș i pixel).
Acum să trecem la Frames în Tkinter.

Cadre Tkinter
Un cadru este în esenț ă o zonă rectangulară care poate conț ine altele
widgeturi. În Tkinter, există un widget Frame care este baza
unitate de organizare pentru aranjamente complexe. Este un widget care
nu are niciun stil special sau componentă GUI de sine stătătoare. Este doar
a fost folosit pentru a ț ine alte widget-uri Tkinter în cazul unei interfeț e grafice complexe

dispuneri.
Notă: Este important de menț ionat aici că ori de câte ori un widget este
s-a creat, de asemenea, o relaț ie părinte-copil care este creată.
Ia doar un exemplu, dacă pui un buton într-un cadru, atunci
widget-ul frame este numit părintele widget-ului Button.

Exemplu de bază Tkinter


Să luăm un exemplu în care vom crea un Tkinter
aplicaț ie cu un widget simpleText:
de tkinter import*
win = Tk()# Creează fereastra de bază (rădăcină)
[Link]("200x200")
w = Label(win, text=“Hello, Welcome to Studytonight!”)#
Creează un eticheta cu cuvinte
[Link]()# Puneț i eticheta în fereastră
[Link]()# Începe bucla de evenimente

Codul de mai sus va crea o fereastră cu widget-ul etichetei


iar rezultatul va arăta aș a cum este prezentat mai sus. Am creat un
Fereastră Tkinter ș i apoi am adăugat un widget de etichetă de bază în aceasta.

Sumar:
In this tutorial, we learned about the basic building blocks of
Aplicaț ie GUI folosind Tkinter care sunt Windows, Widgets,
ș i Frame-uri, care sunt folosite pentru a dezvolta diferite GUI
aplicaț ii. În următorul tutorial, vom învăț a cum să creăm o
Fereastra Tkinter care este punctul de plecare pentru orice
aplicaț ie, deoarece într-o fereastră Tkinter adăugăm totul
widget-uri.
PARTEA 3: Feronerie Tkinter
În acest tutorial, vom învăț a despre feronerele Tkinter în Python
care este fereastra principală a aplicaț iei GUI în interior
în care fiecare alt component funcț ionează. Am acoperit baza
Componente ale aplicaț iei GUI Tkinter în care avem
a explicat cum sunt feroneriile, widgeturile ș i cadrele Tkinter
blocuri de construcț ie ale unei aplicaț ii Tkinter.

Feronici Tkinter
Fereastra Tkinter este elementul de bază al
Tkinter GUI. Fereastra Tkinter este un container în care toate
alte elemente GUI (widgets) în direct.
Iată sintaxa pentru crearea unei feronii de bază Tkinter:
win = Tk()
Da, folosim funcț ia Tk() pentru a crea aplicaț ia noastră Tkinter
fereastra în care sunt adăugate toate celelalte componente.

Exemplu de feronerie Tkinter:


Iată un exemplu simplu,
de tkinter import*
win = Tk()
rula fereastra aplicaț iei
[Link]()
În exemplul de mai sus, funcț ia themainloop() este folosită pentru a rula
Aplicaț ie GUI.

Fereastră Personalizată Tkinter


Să abordăm acum un exemplu de bază în care vom crea un
Aplicatie GUI de bază utilizând proprietăț i
îmi place titlul ș i geometria.

Aici avem codul pentru a demonstra paș ii utilizaț i în


crearea unei feronii personalizate Tkinter:
de tkinter import *
window = Tk()
Îț i poț i adăuga widgeturile aici
[Link]('Bună StudyTonight')
[Link]("300x200+10+20")
[Link]()

Iată ce am făcut în cod:

Primul pas este să importaț i modulul Tkinter în


cod.
După import, al doilea pas este să configurăm
obiectul aplicaț iei apelând funcț ia Tk(). Acesta
va crea o fereastră de nivel superior (rădăcină) având un cadru
cu un titlu de bară ș i o cutie de control cu minimizare
ș i butoane de închidere, ș i o zonă pentru clienț i pentru a ț ine altele
widgeturi.
După aceea, poț i adăuga widget-urile pe care le-ai dori.
pentru a adăuga în codul tău butoane, casete de text, bare de derulare,
etichetă, ș i multe altele.
Funcț ia [Link]() este folosită pentru a oferi un titlu la
interfaț a utilizatorului aș a cum poț i vedea în rezultat.
[Link]("300x200+10+20);
metoda thegeometry() defineș te
lăț imea, înălț imea ș i coordonatele colț ului din stânga sus
colț ul ramei după cum urmează (toate valorile sunt
în general în pixeli) în acelaș i mod. Iată
sintaxă:

[Link]("lăț imexînălț ime+XPOS+YPOS")


După aceea, obiectul aplicaț iei intră într-un eveniment
ascultând loop prin apelareametoda mainloop(). În această
mod, aplicaț ia aș teaptă acum constant pentru
orice eveniment generat pe elementele din acesta. Acolo
ar putea fi un eveniment precum text introdus într-un câmp de text,
o selecț ie făcută din lista derulantă sau radio
buton, acț iuni de clic simplu/duplicat ale mouse-ului, etc.
Funcț ionalitatea aplicaț iei implică executarea
funcț ii de apel corespunzătoare ca răspuns la un anumit
tip de eveniment.
Bucle evenimentul se va termina imediat ce se face un clic.
pe butonul de închidere de pe bara de titlu.

Summary:
În acest tutorial, am învăț at cum să creăm o fereastră Tkinter pentru
creează o aplicaț ie GUI. Fereastra Tkinter conț ine toate
widget-uri care fac aplicaț ia.
PARTEA 4: Python Tkinter
Widgets
În acest tutorial, vom aborda o prezentare generală a widget-urilor Tkinter
în Python. Aceste widget-uri sunt unităț ile funcț ionale pe orice
Aplicaț ie GUI Tkinter.

Widgets Tkinter
Există diverse controale, cum ar fi butoane, etichete,
bare de derulare, butoane radio ș i căsuț e de text utilizate într-o interfaț ă grafică
aplicaț ie. Aceste mici componente sau controale ale Grafice
Interfaț a Grafică a Utilizatorului (GUI) este cunoscută sub denumirea de widget-uri în Tkinter.

Summary:
Aș adar, în acest tutorial, am primit o introducere de bază în Trinket
Widgets. În paginile noastre viitoare de tutorial, vom acoperi fiecare
widget în detaliu cu exemplele lor de cod respective.
PARTEA 5: Python Tkinter
Manager de geometrie
În acest tutorial, vom învăț a cum să controlăm layout-ul
Aplicaț ie cu ajutorul TkinterGeometry
Manageri.

Controlarea aplicaț iei Tkinter


Dispunere
Pentru a organiza sau a aranja sau a plasa toate widgeturile în
fereastra părinte, Tkinter ne oferă geometria
configurarea widgeturilor. Dispunerea aplicaț iei GUI este
controlat în principal de Managerii Geometrici ai Tkinter.
Este important de menț ionat aici că fiecare fereastră ș i cadru din tine
aplicaț ia este permisă să folosească doar un singur manager de geometrie.
De asemenea, cadre diferite pot folosi diferite gestionare de geometrie,
chiar dacă sunt deja alocate unei rame sau feronice folosind
un alt manager de geometrie.
Există în principal trei metode în managerii de geometrie:

Să discutăm fiecare metodă în detaliu, una câte una.

Tkinterpack() Manager de geometrie


Metoda thepack() foloseș te în principal un algoritm de ambalare pentru a
place widgets in aFrameor window in a specified order.
Această metodă este folosită în principal pentru a organiza widget-urile într-o
block.
Algoritmul de ambalare:
Paș ii algoritmului de ambalare sunt următorii:

În primul rând, acest algoritm va calcula un dreptunghi


are cunoscut sub denumirea de Parcel care este înalt (sau lat)
suficient pentru a ț ine widgetul ș i apoi se va umple
lăț imea (sau înălț imea) rămasă în fereastră
cu spaț iu gol.
Îl va centra pe widget până la orice altă locaț ie
este specificat.
Această metodă este puternică, dar este dificil de vizualizat.
Iată sintaxa pentru utilizarea funcț iei pack():
[Link](opț iuni)
The possible options as a parameter to this method are given
mai jos:
umple
Valorile implicite ale acestei opț iuni sunt setate la NIMIC. De asemenea, noi
poate fi setat la X sau Yin pentru a determina dacă
widget-ul conț ine orice spaț iu suplimentar.

side
Această opț iune specifică de ce parte să împacheteze widgetul
împotriva. Dacă doriț i să împachetaț i widget-uri vertical,
folosiTOPcare este valoarea implicită. Dacă vrei să
aș ează widget-urile orizontal, foloseș te STÂNGA.

extinde
Această opț iune este utilizată pentru a specifica dacă widget-urile
ar trebui extins pentru a umple orice spaț iu suplimentar în
maestru de geometrie sau nu. Valoarea sa implicită este false. Dacă este
dacă este fals atunci widgetul nu este extins altfel widget
se extinde pentru a umple spaț iul suplimentar.
Exemplu de Manager Geometric Tkinterpack() :
Să discutăm un exemplu în care vom vedea ce se întâmplă
când împachetezi() trei widget-uri Frame colorate (aici este Tkinter
Widget Cadru) într-o fereastră:
importtkinterastk
win = [Link]()
adaugă un cadru portocaliu
frame1 = [Link](master=win, width=100, height=100,
bg=“orange”)
[Link]()
adăugaț i cadru albastru

frame2 = [Link](master=win, width=50, height=50,


bg=“blue”)
[Link]ă()
adauga cadru verde
frame3 = [Link](master=win, latime=25, inaltime=25,
bg=“green”)
[Link]()
[Link]()

Conform ieș irii codului de mai sus, metoda thepack()


pur ș i simplu plasează fiecare cadru sub cel anterior în mod implicit, în
în aceeaș i ordine în care sunt atribuite feroneriilor.

Tkinterpack() cu parametrii
Să luăm câteva exemple de cod folosind parametrii
această funcț ie umple, îmbină ș i extinde.
Puteț i setaumpleargument pentru a specifica în
în ce direcț ie vrei ca cadrele să se umple. Dacă vrei
pentru a completa direcț ia orizontală, opț iunea este tk.X,
în timp ce, tk.Y este folosit pentru a umple vertical ș i pentru a umple în ambele direcț ii
[Link] este utilizat.

Să luăm un alt exemplu în care vom suprapune cele trei


rame astfel încât fiecare să umple întreaga fereastră pe orizontală:
importtkinterastk
win = [Link]()
frame1 = [Link](master=win, height=80, bg=“red”)
# adăugând argumentul fill cu
# valoare de umplere orizontală

[Link](fill=tk.X)
frame2 = [Link](master=win, height=50, bg=“yellow”)
[Link](fill=tk.X)
frame3 = [Link](master=win, height=40, bg=“blue”)
[Link](fill=tk.X)
[Link]()

În ieș irea de mai sus, puteț i vedea că cadrele umplu întregul


lăț imea ferestrei aplicaț iei deoarece am folosit
[Link] pentru parametrul thefill.
Acum să luăm un alt exemplu de cod, unde vom folosi
toate opț iunile, ș i anume, umple, latură ș i extinde opț iunile de
metoda thepack()
importtkinterastk
win = [Link]()
frame1 = [Link](master=win, lăț ime=200, înălț ime=100,
bg=“Yellow”)
setarea umplerii, laturii ș i extinderii

[Link](fill=[Link], side=[Link], expand=True)


frame2 = [Link](master=win, width=100, bg=“blue”)
[Link](fill=[Link], side=[Link], expand=True)
frame3 = [Link](master=win, width=50, bg=“green”)
[Link](fill=[Link], side=[Link], expand=True)
[Link]()

Dacă vei rula acest cod de mai sus în sistemul tău, atunci poț i
vedeț i, acest output este capabil să se extindă în ambele direcț ii.

2. Tkintergrid() Manager de geometrie


Cel mai utilizat manager de geometrie este grid() deoarece oferă
toată puterea funcț iei pack() dar într-un mod mai uș or ș i
mod sustenabil.
Managerul de geometrie grid() este folosit în principal pentru a împărț i fie un
fereastră sau cadru în rânduri ș i coloane.

Puteț i specifica cu uș urinț ă locaț ia unui widget doar


prin apelarea funcț iei grid() ș i trecerea rândului ș i
coloana indiceluicuvântcheie de rând ș i coloană
argumente, respectiv.
Indicele atât al rândului, cât ș i al coloanei începe de la 0, astfel încât un
indexul rândului 2 ș i un index al coloanei 2 spune
funcț ia thegrid() pentru a plasa un widget în al treilea
coloana din a treia linie (0 este prima, 1 este a doua ș i 2
înseamnă al treilea).

Here is thesyntaxof thegrid()function:


[Link](opț iuni)
Opț iunile posibile ca parametru pentru această metodă sunt date
mai jos:

Coloană
Această opț iune specifică numărul coloanei în care
widget-ul urmează să fie plasat. Indexul coloanei celei mai din stânga este 0.

Rang
Această opț iune specifică numărul rândului în care se află widgetul
urmează să fie plasat. Rândul cel mai de sus este reprezentat de 0.

Coloana extinsă
Această opț iune specifică lăț imea widget-ului. Aceasta este în principal
reprezintă numărul de coloane până la care,
coloana este extinsă.

Îmbinare pe rânduri
Această opț iune specifică înălț imea widget-ului. Se referă în principal la
reprezintă numărul de rânduri până la care, rândul este
extins.

padx, pady
Această opț iune reprezintă în principal numărul de pixeli de
spatiul de umplere care trebuie adăugat widget-ului imediat în exterior
marginea widget-ului.

ipadx, ipady
Această opț iune este utilizată în principal pentru a reprezenta numărul de
pixeli de margine ce trebuie adăugaț i la widget în interiorul
marginea widget-ului.

Lipicios
Dacă o celulă este mai mare decât un widget, atunci sticky este
folosit în principal pentru a specifica poziț ia widget-ului în interior
celula. Este practic o concatenare a literelor lipicioase
care reprezintă poziț ia widget-ului. Poate fi N,
E, V, S, NE, NV, NS, EW, ES.

Exemplu de Manager de Geometrie Tkintergrid() :


Următorul script de cod te va ajuta să creezi un 5 × 3
grilă de rame cuWidgets etichetate împachetate în ele:
importtkinterastk
win = [Link]()
pentru i în intervalul(5):

forjinrange(3):
cadru = [Link]
master = win,
relief = [Link],
borderwidth =1
)
[Link](row=i, column=j)
label = [Link](master=frame, text=f”Row{i}\nColumn
{j}”)
[Link]()
[Link]()

Dacă vrei să adaugi puț in padding, atunci poț i face asta folosind
fragments de code următoare:
importtkinterastk
win = [Link]()
pentru i în intervalul (5):

forjinrange(3):
cadru = [Link](
master=win,
relief=[Link],
borderwidth=1
)
[Link](row=i, column=j, padx=5, pady=5)
label = [Link](master=frame, text=f”Row{i}\nColumn
{j}”)
[Link]()
[Link]()

As you can see in the code example above, we have used


parametrii thepadxandpady din cauza cărora umplerea este
aplicat în afara widgetului. Pentru a adăuga margine în interiorul Frame-ului
widget, foloseș te parametrii ipadx ș i ipady în codul tău.
De asemenea, încearcă să foloseș ti ș i alte parametri pentru
managerul de geometrie thegrid()

3. Trinketplace() Manager de Geometrie


Managerul de geometrie Theplace() organizează widgeturile pentru a le plasa
îi în o poziț ie specifică, conform indicaț iilor programatorului.

Această metodă organizează practic widget-ul în


în conformitate cu coordonatele sale x ș i y. Atât x cât ș i
Coordonatele y sunt în pixeli.
Astfel, originea (unde x ș i y sunt ambele 0) este vârful -
colț ul stâng alCadru pentru fereastră.
Astfel, argumentul specifică numărul de pixeli
de spaț iu de la partea superioară a feronerie, pentru a plasa
widget, iar argumentul specifică numărul de
pixeli din stânga feronului.
Iată sintaxa metodei place():
[Link]ă(opț iuni)
Opț iunile posibile ca parametru pentru această metodă sunt date
mai jos:

x, y
Această opț iune indică offsetul orizontal ș i vertical
în pixeli.

height, width
Această opț iune indică înălț imea ș i greutatea widget-ului
în pixeli.

ancoră
Această opț iune reprezintă în principal poziț ia exactă a
widget în interiorul containerului. Valoarea implicită (direcț ie)
esteNWacela (colț ul din stânga sus).

mod de margine
Această opț iune indică valoarea implicită a bordurii
tipul care esteÎN INTERIOR ș i se referă de asemenea la a ignora
părintele este în interiorul graniț ei. Cealaltă opț iune este ÎN AFARĂ.

relx, rely
Această opț iune este folosită pentru a reprezenta numărul zecimal între 0.0 ș i
1.0 ș i este offsetul în direcț ia orizontală ș i verticală
direcț ie.

relheight, relwidth
Această opț iune este folosită pentru a reprezenta valoarea zecimală între
0.0 ș i 1.0 indicând fracț ia înălț imii părintelui
ș i lăț ime.
Exemplu de Manager de Geometrie Tkinterplace() :
Fragmentul de cod pentru aceasta este dat mai jos:

din tkinter import *


top = Tk()
[Link]("400x250")
Nume utilizator = Etichetă(top, text ="Nume utilizator").plasează(x =30, y =
50)
email = Label(top, text =“Email”).place(x =30, y =90)
password = Label(top, text =“Password”).place(x =30, y =
130)
e1 = Entry(top).place(x =80, y =50)
e2 = Intrare(top).loca(x =80, y =90)
e3 = Intrare(top).locaț ie(x =95, y =130)
[Link]()

În exemplul de cod de mai sus, am folosit Tkinter


Widgetul Label ș i Tkinter Entry, le vom acoperi în detaliu
în tutorialele viitoare.

Summary:
În acest tutorial, am învăț at cum putem să ne poziț ionăm widget-urile.
în interiorul ramei sau feronerie a aplicaț iei noastre GUI. Noi
am învăț at despre cei trei manageri de geometrie Tkinter, ș i anume,
pack(), grid() ș i place().
De la următorul tutorial, vom începe să acoperim diferite Tkinter
widgeturi.
PARTEA 6: Python Tkinter
Widget Etichetă
În acest tutorial, vom aborda widgetul TkinterLabel
Python, care este folosit pentru a crea un Label în aplicaț ia GUI
în care putem afiș a orice text sau imagine.
Widgetul label în Tkinter este folosit pentru a afiș a
cutiiundeputecosă imagini ș i text.
Widgetul label este folosit în principal pentru a oferi un
mesaj despre celelalte widgeturi folosite în Python
Aplicaț ie pentru utilizator.
Poț i schimba sau actualiza textul din interiorul etichetei
widget oricând doreș ti.
Acest instrument foloseș te o singură fontă în acelaș i timp.
afişând un text.
Poț i îndeplini ș i alte sarcini, cum ar fi sublinierea unor
Parte din text ș i poț i, de asemenea, să întinzi textul la
mai multe linii.
Există diverse opț iuni disponibile pentru a configura
textul Partea textului afiș ată în Etichetă.

Widget Label Tkinter


Sintaxa widget-ului etichetei este dată mai jos,
W = Eticheta(master, opț iuni)
În sintaxa de mai sus, parametrul master denotă părintele
fereastra. Puteț i folosi multeoptionsto configure the text and
aceste opț iuni sunt scrise ca perechi cheie-valoare separate prin virgulă
perechi.
Exemplu de widget Label Tkinter
Acum să vedem un exemplu de bază al widget-ului etichetă ș i al
code snippet is given below:
import tkinter
de tkinter import*
win = Tk()
var = StringVar()
label = Label( win, textvariable=var, relief=RAISED )
# setaț i valoarea etichetei

Hei!? Bun venit la StudyTonight


[Link]()
[Link]()

În codul de mai sus, am creat o variabilă simplă StringVar() ș i


apoi i-a atribuit o valoare, iar această variabilă este atribuită ca
valoarea opț iunii textvariabil pentru widget-ul Label.

Widgetul Label Tkinter - Altul


Exemplu
Mai jos avem un alt fragment de cod pentru mai multă claritate
înț elegere. Să vedem fragmenul de cod dat mai jos:
de tkinter import *
win = Tk()
[Link]("400x250")
#crearea unei etichete

username = Label(win, text =“Username”).place(x =30,y =


50)
crearea celui de-al doilea etichetă
password = Label(win, text =“Password”).place(x =30, y =
90)
submitbutton = Button(win, text =“Submit”,activebackground
=“red”, activeforeground =“blue”).place(x =30, y =120)
e1 = Intrare(win,lăț ime =20).locaț ie(x =100, y =50)
e2 = Entry(win, width =20).place(x =100, y =90)
[Link]()
Ori de câte ori vei rula codul de mai sus, după ce ai introdus valorile
în eticheta de nume de utilizator ș i parolă, când vei face clic pe
butonul de trimitere apoi culoarea sa devine roș ie.

Nu-ț i face griji cu privire la Widget-ul Buton ș i Widget-ul Intrare utilizate


în codul de mai sus, le vom aborda pe scurt în următoarele
tutoriale. Acest exemplu este pentru a-ț i da o idee despre cum
Widget-urile Tkinter sunt folosite pentru a crea interfeț e de utilizator pentru
Aplicaț ie Tkinter.

Summary:
În acest tutorial, am acoperit Widget-ul Label Tkinter care este
folosit pentru a afiș a text ș i imagini în aplicaț ia GUI Tkinter sau pentru
adăugaț i texte cu câmpuri de introducere a formularelor aș a cum am făcut în
exemplu de mai sus.
PARTEA 7: Python Tkinter
Widget de buton
În acest tutorial, vom aborda widgetul Button din Tkinter.
modul în Python.
Widgetul Button din Tkinter este folosit în principal pentru a adăuga un buton
în orice aplicaț ie GUI. În Python, în timp ce foloseș ti Tkinter
widget de buton, putem modifica cu uș urinț ă stilul butonului
ca adăugarea unor culori de fundal, ajustarea înălț imii ș i
lăț imea butonului, sau plasarea butonului etc. foarte
cu uș urinț ă.

Puteț i adăuga diferite tipuri de butoane (după cum doriț i)


interfeț elor UI) la aplicaț ia dumneavoastră cu ajutorul
Widgetul Buton.
De asemenea, poț i asocia orice metodă sau funcț ie cu
un buton dacă vrei ș i apoi acea metodă va primi
apelat de fiecare dată când apăsaț i butonul.
Există multe opț iuni de widget pentru butoane care
poț i reseta sau seta conform dorinț elor tale
cerinț e.

Widget-ul buton Tkinter


Sintaxa widget-ului de buton este furnizată mai jos,
W = Buton(master, opț iuni)
În sintaxa de mai sus, parametrul master denotă părintele
fereastra. Puteț i folosi multe opț iuni pentru a schimba aspectul
butonii ș i aceste opț iuni sunt scrise ca fiind separate prin virgulă.
Exemplu de Widget Buton Tkinter
Acum să creăm un buton simplu de trimitere cu ajutorul codului
bucata dată mai jos:
de la tkinter import *
win = Tk() ## win este o fereastră principală sau părinte

[Link]("200x100")
b = Button(win, text =“Submit”)
[Link]()#utilizând geometria pack()
[Link]()

În exemplul de cod de mai sus, am creat o fereastră simplă de


având lăț imea ș i înălț imea. Apoi am adăugat un widget de buton la acesta
cu furnizarea feroneriilor create ca stăpân al acestora
buton ș i adăugarea unui text pentru buton.

Widgetul de buton Tkinter - Adăugaț i stil ș i


Gestionar de evenimente

Mai jos avem un alt fragment de cod unde vom schimba


aspectul butoanelor adăugând mai mult stil acestora. Să vedem cum vom
fă-o:
importtkinter
de la tkinter import*
de tkinter import messagebox
top = Tk()
[Link]("300x150")
defclick():
[Link](“Hello”,“Green Button clicked”)
a = Buton(top, text=„galben”, activeforeground=„galben”,
activebackground=“orange”, pady=10)
b = Buton(top, text=„Albastru”, activeforeground=„albastru”
activebackground=“orange”, pady=10)
# adăugarea funcț iei de clic butonului de mai jos
c = Buton(top, text="Verde", command=click,
activeforeground =“green”, activebackground=“orange”,
pady=10)
d = Buton(top, text="roș u", activeforeground="galben",
activebackground=“orange”, pady=10)
[Link](lateral = STÂNGA)

[Link](side = DREAPTA)
[Link](side = SUS)
[Link](side = BOTTOM)
[Link]()

În codul de mai sus, am adăugat câteva stiluri folosind diferite


opț iuni ș i am adăugat un handler de evenimente pentru a gestiona
evenimentul de clic al celui de-al 3-lea buton. Deci de fiecare dată când vei face o

clic pe butonul cu textul Verde, vei vedea un Tkinter


mesaj cu un mesaj.

Summary:
În acest tutorial, am învăț at cum să facem un buton Tkinter
widget cu diferite opț iuni, cum ar fi schimbarea stilului
buton, adăugând text pe buton sau poziț ionând butonul. Noi
de asemenea, am văzut un exemplu de cod pentru adăugarea unei funcț ii de gestionare a evenimentelor

orice buton pentru a efectua o acț iune când butonul este


a făcut clic.
PARTEA 8: Checkbutton Python Tkinter
Widget
În acest tutorial, vom aborda widgetul Checkbutton din Tkinter în Python, care este folosit pentru
creaț i casete de selectare pe GUI în timp ce dezvoltaț i aplicaț ii desktop folosind Tkinter.
Dacă doriț i să afiș aț i o serie de opț iuni într-un formular, unde utilizatorii pot bifa pentru a selecta
orice opț iune, putem folosi widgetul TkinterCheckbutton. Îț i permite să alegi
opț iuni multiple sau o singură opț iune deodată, doar prin clic pe butonul corespunzător
fiecare opț iune.
De exemplu, într-un formular, vezi opț iunea de a completa sexul tău, are opț iuni, Băiat,
Femeie, Altele, etc., ș i poț i bifa oricare dintre opț iuni, aceasta fiind o casetă de selectare. Folosim
the<input>tagîn HTML, pentru a crea o casetă de selectare
Poate conț ine fie text, fie imagine. Există o serie de opț iuni disponibile pentru
configurează widgetul Checkbutton conform cerinț elor tale.

Widget-ul Checkbutton Tkinter


Sintaxa widget-ului checkbutton este dată mai jos:
w = CheckButton(master, option=valoare)
În sintaxa de mai sus, parametrul master denotă fereastra părinte. Puteț i folosi
multe opț iuni pentru a configura widgetul tău de checkbutton ș i aceste opț iuni sunt scrise
ca o pereche cheie-val separată prin virgulă.

Metodele widget-ului Checkbutton Tkinter:


Următoarele sunt metodele utilizate cu widget-urile checkbutton:

Metodă
Description
Nume
Această metodă în widget-ul checkbutton este folosită pentru a invoca metoda
invocare()
asociat cu butonul de verificare.
Această metodă în widget-ul checkbutton se numeș te pentru a activa
selectaț i()
buton de bifare.
Această metodă în widget-ul checkbutton este apelată pentru a opri
deselectare()
buton de verificare.
Această metodă din widget-ul checkbutton este folosită pentru a comuta între
comutare()
butoane de verificare diferite.

Această metodă în widgetul checkbutton este folosită pentru a comuta între activ
flash()
ș i culori normale.

Exemplu de widget Checkbutton Tkinter


Mai jos avem un exemplu de bază al acestui widget pentru a obț ine o înț elegere de bază a acestuia
method:
din tkinter import *
root = Tk()
[Link]("300x300")
w = Label(root, text =‘StudyTonight’, fg=“Blue”,font =“100”)
[Link]()
Checkbutton1 = IntVar()
Checkbutton2 = IntVar()
Checkbutton3 = IntVar()
Button1 = Checkbutton(root, text =“Homepage”,
variable = Checkbutton1,
onvalue =1,
offvalue =0,
height =2,
lăț ime =10)
Button2 = Checkbutton(root, text =“Tutorials”,
variable = Checkbutton2,
onvalue =1,
offvalue =0,
height =2,
lăț ime =10)
Button3 = Checkbutton(root, text =“Contactus”,
variable = Checkbutton3,
onvalue =1,
offvalue =0,
height =2,
lăț ime = 10)
[Link]()
[Link]()
[Link]()
mainloop()
As you can see in the code above, threeIntVar()variables are created and then we have
created three check button with different text like Homepage, Tutorials
ș iContactaț i-ne.
Aș a că am creat aici butoane de verificare folosind câteva opț iuni precum text, variabil, valoare activată,
valoareoff, înălț ime ș i lăț ime. Poț i încerca să foloseș ti mai multe opț iuni.

Summary
Aș adar, în acest tutorial am învăț at cum să creăm casete de selectare într-o aplicaț ie GUI folosind
Widget-ul checkbutton Tkinter.
PARTEA 9: Radiobutton Python Tkinter
Widget
În acest tutorial, vom acoperi widgetul TkinterRadiobutton în Python, care este
utilizat atunci când dorim să adăugăm un buton radio în interfaț a grafică a aplicaț iei noastre.

Widgetul Tkinter Radiobutton este folosit pentru a implementa opț iuni multiple.
creat în principal în formularele de introducere a datelor de utilizator.

Acest widget oferămultiple selecț ii utilizatorului ș i îi permite utilizatorului


a alege doar o opț iune din cele date. Astfel este cunoscut ș i ca
implementarea unei selecț ii unul-dintre-multe într-o aplicaț ie Python.
De asemenea, metode diferite pot fi asociate cu butonul radio.
Puteț i de asemenea să afiș aț i text pe mai multe linii ș i imagini pe butonul radio.
Fiecare buton radio afiș ează o valoare unică pentru o variabilă particulară.
De asemenea, poț i urmări selecț ia utilizatorului de
radiobutton pentru că este asociat cu o singură variabilă

Widget Radiobutton Tkinter


Sintaxa widget-ului Radiobutton este dată mai jos:
W = Radiobuton(master, opț iuni)
În sintaxa de mai sus, parametrul master denotă fereastra părinte. Puteț i folosi
manyoptionsto change thelook of the radiobuttonand these options are written
ca perechi cheie-valoare separate prin virgulă.

Metodele widget-ului Radiobutton Tkinter:


Următoarele sunt diferitele metode utilizate cu widgeturile Radiobutton de la Tkinter:

Metodă
Description
Name
deselect() Această metodă este utilizată pentru a deselecta sau a dezactiva butonul radio

selecta() Această metodă este folosită pentru a selecta butonul radio

Această metodă este utilizată în general pentru a apela o funcț ie atunci când starea radio
invocare()
butonul se schimbă.
Această metodă este folosită în general pentru a activa butonul radio între acesta
flash()
culori normale ș i active de multe ori.

Exemplu de widget Radiobutton Tkinter


Mai jos avem un exemplu de bază pentru widget-ul butonului radio. Hai să vedem codul
snippet pentru widget-ul Radiobutton:
#în primul rând Importaț i modulul Tkinter

din tkinter import*


de la [Link] import*
Crearea feroniei părinte Tkinter
win = Tk()
[Link]("200x200")
să creăm o variabilă de tip string Tkinter
care este capabil să stocheze orice valoare de ș ir

v = StringVar(win, "1")
Aici este un dicț ionar pentru a crea mai multe butoane
options = {” Option A”:“1”,
“Option B”:“2”,
“Option C”:“3”,
“Option D”:“4”
}
Vom folosi un Ciclu doar pentru a crea multiple
# Radiobuttons în loc să creăm fiecare buton separat
pentru(txt, val)în opț [Link]():

Radiobutton(win, text=txt, variable=v, value=val).pack(side = TOP, ipady =


4)
bucleprincipal()
Codul de mai sus va genera următorul output:

Notă: Dacă veț i încerca acest fragment de cod singur, veț i vedea că în
puteț i selecta doar un singur buton în acelaș i timp.

Widget-ul Radiobutton Tkinter - Un alt exemplu


Mai jos avem un alt exemplu al acestui widget unde vom adăuga stilizare.
radiobutton using style class:
de la tkinter import *
[Link]*
win= Tk()
[Link]('200x200')
v = StringVar(win, "1")
vom adăuga clasa Style pentru a adăuga stil la butonul de radio

style = Style(win)
[Link]("TRadiobutton", background = "albastru deschis",
foreground =“orange”, font = (“arial”,14,“bold”))
Dictionar pentru a crea mai multe butoane
values = {“RadioButton 1”:“1”,
“RadioButton 2”:“2”,
“RadioButton 3”:“3”
}
pentru(text, valoare)î[Link]():

Radiobutton(win, text = text, variable = v,


valoare = valoare).împachetare(latură = SUS,ipady =3)

mainloop()

Codul de mai sus va schimba stilul fontului, precum ș i fundalul ș i culoarea textului.
culori. În TRadiobuttonul de mai sus este utilizată în clasa de stil, care se aplică automat
stilizarea tuturor butoanelor radio disponibile.

Summary:
În acest tutorial, am învăț at despre widgetul Radiobutton care este folosit pentru a crea
multiple opț iuni dintre care poate fi selectată o singură. Acesta este folosit în principal atunci când noi
creează un formular de utilizator, asemănător unui formular de înregistrare.
PARTEA 10: Python Tkinter
Widget de Introducere
În acest tutorial, vom acoperi widgetul entry din Tkinter.
Python cu diversele sale opț iuni ș i cu ajutorul lui Few
Exemple, vom înț elege conceptul în detaliu.
Dacă trebuie să obț ii un mic text de la un utilizator, cum ar fi un nume sau
o adresă de email sau un număr de contact, atunci foloseș te
un widget de intrare.

Widgetul Entry este folosit în principal pentru a afiș a un mic


casetă de text în care utilizatorul poate introduce un text.
Există un număr de opț iuni disponibile pentru a schimba
stilizarea widget-ului Entry.
Este important de menț ionat că widgetul Entry este doar
obiș nuia să primească un text pe o singură linie de la utilizator deoarece
în cazul textului pe mai multe linii, widgetul text va fi
folosit.
Acest widget este folosit în principal pentru a accepta text.
ș iruri de la utilizator.

Widget de introducere Tkinter


Sintaxa widgetului de intrare este dată mai jos:
w = Intrare(master, opț iune=valoare)
În sintaxa de mai sus, parametrul master denotă părintele
[Link]ț i folosi multe opț iuni pentru a schimba stilul de
widget-ul entry ș i aceste opț iuni sunt scrise ca virgule-
separat

Exemplu de Widget Entry Tkinter


Mai jos avem un exemplu de bază al widget-ului Tkinter Entry.
Să vedem secvenț a de cod:
de tk import *
win = Tk()
[Link]("400x250")
name = Label(win, text =“Name”).place(x =30,y =50)
email = Label(win, text =“Email”).place(x =30, y =90)
parola = Eticheta(win, text ="Parola").loca(x =30, y =
130)
Trimite
"roș u", activeforeground ="albastru"
.plasare(x =30, y =170)
entry1 = Entry(win).place(x =80, y =50)
entry2 = Entry(win).place(x =80, y =90)
entry3 = Intrare(win).loca(x =95, y =130)
[Link]()

În exemplul de cod de mai sus, am realizat următoarele:


1. Creaț i etichete Tkinter pentru a numi câmpurile de introducere a textului.
Pentru toate cele 3 câmpuri de introducere (widget de intrare), avem
am creat trei etichete.
2. Am folosit managerul de geometrie theplace() pentru a plasa
etichetele de pe fereastra aplicaț iei.
Apoi am creat un buton care este pentru trimitere
buton. Ș i am folosit managerul de geometrie theplace() pentru a
poziț ionează-l pe interfaț a aplicaț iei.
4. Ș i în final, avem cele trei Entrywidgets care
va crea cele trei câmpuri de introducere a textului. Ș i folosit
managerul de geometrie theplace() pentru a-l poziț iona pe
interfaț ă grafică a aplicaț iei.

Rezumat
În acest tutorial, am învăț at cum să folosim widgetul Entry Tkinter
pentru a crea un câmp de introducere a textului în timp ce creezi o aplicaț ie GUI.
PARTEA11: Python Tkinter
Widget de Mesaj
În acest tutorial, vom învăț a despre TkinterMessage
widgetul în Python care este folosit pentru a afiș a un mesaj de text pe
aplicaț ia GUI pe care o creezi folosind Tkinter.
Widgetul TkinterMessage în Python este folosit în principal
a arăta un mesaj utilizatorului care foloseș te
aplicaț ie.
Mesajul afişat de TkinterMessage
Widgeturi de tip non-editabil ș i acesta poate fi în
multilinie.
Mesajul afişat de TkinterMessage
[Link] font.
Funcț ionalitatea acestui widget este foarte similară
cătreWidgetul Label Tkinterdar există o
diferenț a ș i acesta este widgetul de mesaj
poate înfăș ura automat textul.

Widgetul de Mesaj Tkinter


Sintaxa widget-ului Message Tkinter este dată mai jos:
W = Mesaj(mast, opț iuni)
În sintaxa de mai sus, parametrul master denotă părintele
fereastră.Puteț i folosi multeopț iuni pentru a schimbaaspectul
mesaj ș i aceste opț iuni sunt scrise ca separate prin virgulă
key-value pair.
Exemplu de Widget de Mesaj Tkinter
Mai jos avem un exemplu de bază pentru mesajul Tkinter
widget:
de tk import *
win = Tk()
[Link]("300x200")
w = Label(win, text ='StudyTonight', font =
„90”,fg=„Navyblue”)
[Link]()
msg = Message(win, text =“Best place to learn coding
online
[Link]()
[Link]()

În exemplul de cod de mai sus, am creat o etichetă simplă


un widget ș i un widget de mesaj cu un text în interior.

Summary:
Aș adar, cu aceasta, am acoperit widgetul de mesaje Tkineter
care este folosit pentru a arăta mesaje în aplicaț ia GUI Tkinter. Noi
poate, de asemenea, să creeze un widget de mesaj dinamic pentru a afiș a o eroare sau
mesaj de succes în aplicaț ia Tkinter.
PARTEA 12: Python Tkinter
Widget de Meniu
În acest tutorial, vom acoperi widgetul TkinterMenu
Python, care este folosit pentru a crea meniuri cu opț iuni pentru utilizatori să
alege din.
Widgetul TkinterMenu este folosit pentru a crea diferite tipuri de
meni în aplicaț ia Python.

Următoarele tipuri de meniuri pot fi create utilizând


widgetul Menu Tkinter: pop-up, pull-down, ș i
nivel superior.
Meniurile de nivel superior sunt acele meniuri care sunt
afiș at imediat sub bara de titlu a rădăcinii sau a oricărui
other top-level windows. For example, all the
site-urile au un meniu de navigare în partea de sus, chiar sub
Bara URL în browser.
Meniurile sunt folosite frecvent pentru a oferi convenient.
acces la opț iuni precum deschiderea oricărui fiș ier, închiderea oricărui
task ș i manipularea datelor într-o aplicaț ie.

Widget-ul Menu Tkinter


Sintaxa widget-ului Meniu este dată mai jos:
W = Meniu(master, optiuni)
În sintaxa de mai sus, parametrul master denotă părintele
fereastra. Puteț i folosi multeopț iuni pentru a schimbaaspectul
meniul ș i aceste opț iuni sunt scrise ca chei separate prin virgule
perechi de valori.

Exemplu de Widget Menu Tkinter


Below we have a basic example using this widget:
de la tkinter import*
root = Tk()
defhello():
print("salut!")
menubar = Menu(root)
menubar.add_command(label="Salut StudyTonight!"
command=hello)
menubar.add_command(label="Ieș ire!", command=[Link])
[Link](meniu=menubar)
[Link]()

După ce aț i rulat codul de mai sus, veț i vedea ieș irea de mai sus.
Ori de câte ori vei face clic pe elementul de meniu Hello StudyTonight!
atunci va imprima ahello! pe consola ta. În timp ce dai clic
Elementul de meniu theQuit! va închide aplicaț ia.

Summary:
În acest tutorial, am învăț at cum să creăm un meniu pentru noi
Aplicaț ie Tkinter ș i cum să adaugi elemente de meniu la aceasta ș i
efectuează o operaț iune atunci când utilizatorul selectează orice elemente de meniu.
PARTEA 13: Python Tkinter
Widget buton menu
În acest tutorial, vom acoperi TkinterMenubutton
widget în Python care este folosit pentru a crea un dropdown
meniul pe care utilizatorul îl poate face clic pentru a vedea

Acest widget este folosit pentru a oferi diverse tipuri de


meniul în aplicaț ia Python.
Este important de menț ionat că fiecare buton de meniu dintr-un
aplicaț ia este asociată cu widgetul aMenu ș i
care la schimb poate afiș a opț iunile pentru asta
butonmeniu ori de câte ori utilizatorul face clic pe el.

Widgetul Menubutton Tkinter oferă utilizatorului


cu o opț iune de a selecta alegerea corespunzătoare
care existe în cadrul aplicaț iei.

Widgetul Menubutton Tkinter


Sintaxa widget-ului Menubutton din Tkinter este datoare mai jos:
W = Menubutton(stăpân, opț iuni)
În sintaxa de mai sus, parametrul master denotă părintele
fereastră. Poț i folosi multeopț iuni pentru a schimbaaspectul
butonemenului ș i aceste opț iuni sunt scrise ca o virgulă-
perechi cheie-valoare separate.

Opț iuni pentru widget-ul Menubutton Tkinter:


Următoarele sunt diferitele opț iuni folosite cu Tkinter
Widgets de buton de meniu:
Opț iune
Description
name
Această opț iune indică culoarea de fundal a
fondactiv
d butonul de meniu în momentul în care mouse-ul
peste butonul de meniu.
Această opț iune este utilizată pentru a reprezenta lăț imea lui
bd marginile în pixeli. Valoarea implicită este 2
pixeli.
Această opț iune va fi setată pe grafică
bitmap conț inut care trebuie afiș at pentru
widget.
Această opț iune este folosită pentru a reprezenta
bg
culoarea de fundal a widget-ului.

cursor
Această opț iune indică cursorul când
mouse pluteș te deasupra butonului de meniu.

Această opț iune reprezintă în principal fontul


activeforeground culoarea widget-ului în momentul în care
widget-ul este sub focus
Această opț iune reprezintă culoarea de prim-plan
fg
al widgetului.
Cu ajutorul acestei opț iuni, poț i specifica
direcț ia astfel încât meniul să poată fi afiș at
direcț ie direcț ia specificată a butonului. Tu
poț i folosi LEFT, RIGHT sau ABOVE pentru a plasa
widgetul în consecinț ă.
disabledforegrou Această opț iune indică culoarea textului a
nd widget când widgetul este dezactivat
Această opț iune indică înălț imea
menubutton. Această înălț ime indică
înălț ime numărul de linii de text în cazul textului
linii ș i indică numărul de pixeli în
cazul imaginilor.
Opț iune
Description
nume

imagine
Această opț iune indică imaginea afiș ată pe
butonul de meniu.
Această opț iune indică culoarea de evidenț iere când
higlightcolor
există o concentrare pe buton
Această opț iune este folosită pentru a indica naș terea.
care sunt liniile de text multiple
reprezentat. Pentru justificarea la stânga, este setat la
justifica
STÂNGA ș i este setat pe DREAPTA pentru dreapta
justification, and CENTER for the center
justificare.

padx
Această opț iune indică umplutura suplimentară
al widgetului în direcț ia orizontală.

pady
Această opț iune indică umplutura suplimentară
al widget-ului în direcț ia verticală.
Această opț iune este folosită pentru a indica meniul
meniu
asociat cu butonul de meniu
Această opț iune specifică lăț imea widget-ului.
lăț ime
Pentru butoanele textuale, există ca un număr de
litere sau pentru butoane de imagine indică
pixeli
În acest caz, dacă valoarea acestei opț iuni este setată la un
Wraplength număr pozitiv, liniile de text vor fi
împachetat pentru a se potrivi în această lungime.

Starea normală a butonului de meniu este


stat [Link] fi setat pe dezactivat pentru a face
butonul de meniu nefuncț ional.

Această opț iune este folosită pentru a indica textul pe


text
widget.
Opț iune
Description
nume
O variabilă de control de clasă StringVar poate fi
textvariable
asociat cu acest buton de meniu. Dacă dvs.
va seta acea variabilă de control, apoi va
schimbă textul afiș at.
Această opț iune este folosită în principal pentru a reprezenta
indexul caracterului în textul de
sublinia widget care urmează să fie subliniat.
Indexarea începe de obicei de la zero în
textul.
Această opț iune este folosită pentru a specifica marginea
relief
tip. Valoarea sa implicită este RIDICATĂ

Exemplu de widget Menubutton Tkinter


Acum să vedem un fragment de cod pentru Menubutton în Tkinter
widget:
de la tkinter import *
importtkinter
win = Tk()
mbtn = Menubutton(win, text=“Courses”, relief=RAISED)
[Link]()
[Link] = Menu(mbtn, tearoff =0)
mbtn[“menu”] = [Link]
pythonVar = IntVar()
javaVar = IntVar()
phpVar = IntVar()
[Link].add_checkbutton(label=“Python”,
variable=pythonVar)
[Link].add_checkbutton(label="Java", variable=javaVar)
[Link]ă_checbuton(label="PHP", variabil=phpVar)
[Link]()
[Link]()
Ieşirea codului de mai sus este următoarea:

Poț i încerca exemplul de mai sus singur. De fiecare dată când


va executa codul de mai sus, vei vedea că există un
Un meniu denumit Cursuri pe o fereastră ori de câte ori
you will click on it then it will show you adrop-down
menulike this:

Summary:
În acest tutorial, am acoperit widgetul Menubutton Tkinter
care este folosit pentru a crea meniuri derulante într-un Tkinter
aplicaț ie.
PARTEA 14: Python Tkinter
Widget Cadru
Widgetul TkinterFrame este folosit pentru a grupa ș i organiza
widget-uri într-o manieră mai bună ș i prietenoasă. Widget-ul TheFrame este
de fapt un recipient (un recipient invizibil) al cărui scop este să
ț ine alte widgeturi ș i aranjează-le în raport cu fiecare
altul. Widget-ul cadru Tkinter formează un dreptunghi
regiune pe ecran.
Acț ionează practic ca o clasă de bază care apoi implementează
widget-uri complexe. Este caeticheta HTML div, care este doar pentru
definiț i diviziuni pe o pagină web în care avem alte HTML
elemente.

Widget-ul Frame Tkinter


Sintaxa widget-ului cadru este prezentată mai jos:
W = Cadru(master, opț iuni)
În sintaxa de mai sus, parametrul master denotă părinte
fereastra. Poț i folosi multeopț iuni de a schimbaaspectul
cadruș i aceste opț iuni sunt scrise ca separate prin virgulă
perechi cheie-valoare.

Exemplu de widget Frame Tkinter


Mai jos avem un exemplu de bază în care vom organiza
widget-uri de buton diferite într-un widget Frame. Să vedem codul
snippet given below:
de la tkinter import *
root = Tk()
[Link]("300x150")
w = Label(root, text =‘StudyTonight’, font =“80”)
[Link]()
cadru = Cadru(rădăcină)
[Link]()
bottomframe = Frame(root)
[Link](side = FUND)
button1 = Button(frame, text =“Block1”, fg =“red”)
[Link](side = STÂNGA)
button2 = Button(frame, text =“Block2”, fg =“brown”)
[Link](side = STÂNGA)
button3 = Button(frame, text =“Block3”, fg =“blue”)
[Link](side = STÂNGA)
button4 = Button(bottomframe, text =“Block4”, fg =“orange”)
[Link](lateral = FOND)
button5 = Button(bottomframe, text =“Block5”, fg =“orange”)
[Link]ă(lateral = JOS)
button6 = Button(bottomframe, text =“Block6”, fg =“orange”)
buton6.împachetare(lateral = JOS)

[Link]()

În exemplul de cod de mai sus, am creat două cadre


verigi ș i apoi am adăugat câte 3 butoane în acele cadre
ș i am folosit managerul de geometrie Tkinter pentru a aranja butoanele
în interiorul ferestrei aplicaț iei,
Rezumat
În acest tutorial, am învăț at despre widgetul Tkinter Frame ș i
cum putem folosi acest lucru pentru a gestiona alte widget-uri Tkinter ș i
poziț ionează-le corect.
PARTEA 15: Python Tkinter
Widget Canvas
Widgetul Canvas Tkinter este folosit în principal ca un general-
widget de scop care este folosit pentru a desena orice pe
fereastra de aplicaț ie în Tkinter.

Acest widget este folosit în principal pentru a desena grafice


andplots, drawings, charts, and showing images.
Poț i desena mai multe layout-uri complexe cu ajutorul
de canvas, de exemplu, poligon, dreptunghi, oval
text, bitmap arc, grafica, etc.
Widgetul canvas este folosit ș i pentru a crea grafice.
editori.
Există o serie de opț iuni disponibile pentru a configura
ș i controlează Widget-ul Canvas.

Widgetul Canvas Tkinter


Sintaxa widget-ului canvas este dată mai jos:
w = Canvas(master, opț iune=valoare)
În sintaxa de mai sus, parametrul master denotă părintele.
fereastră.Puteț i folosi multe opț iuni pentru a schimba layout-ul
canvas ș i aceste opț iuni sunt scrise ca separate prin virgulă
cheie-valori.

Widgetul Canvas Tkinter de bază


Exemplu
Să creăm un canvas simplu cu ajutorul canvas-ului
widget:
de la tkinter import*
# fereastră numită sus
top = Tk()
setaț i înălț imea ș i lăț imea feroniei
[Link]("300x300")
crearea unei pânze simple cu widget-ul canvas
cv = Canvas(top, bg =“yellow”, height =“300”)
[Link]()
[Link]()

Codul de mai sus va crea o pânză simplă cu fundal


culoare galbenă ș i poț i desena orice deasupra ei.

Widget Canvas Tkinter - Grafic cu Sectori


folosind Arce
Să creăm un canvas ș i apoi să-l anarconăm cu ajutorul
fragment de cod dat mai jos:
importtkinter
# init tk
root = [Link]()
crearea canvas-ului
mCanvas = [Link](root, bg=“white”, height=300,
latime=300)
desenarea a două arce
coord =10,10,300,300
arc1 = mCanvas.create_arc(coord, start=0, extent=150,
fill=“pink”)
arc2 = mCanvas.create_arc(coord, start=150, extent=215,
fill="albastru")
adăugând canvas la fereastră ș i afiș ându-l
[Link]()
[Link]()

Codul de mai sus va deschide o fereastră, apoi va adăuga un canvas ș i


apoi trasează două arce pe el. Cele două arce desenate
rozul ș i albastrul împreună formează un cerc aș a cum este arătat în
ieș irea de mai sus.

Summary:
În acest tutorial, am învăț at despre widgetul canvas Tkinter
care poate fi folosit pentru a desena orice pe pânză, poate un
grafic, ș i imagine, sau o formă dinamică.
PARTEA 16: Python Tkinter Listbox
Widget
În acest tutorial, vom acoperi widgetul TkinterListbox în Python, care este folosit pentru
afiș ează diferite tipuri de articole utilizatorului sub formă de listă într-o cutie ș i utilizatorul
poț i selecta articolele.

Elementele conț in acelaș i tip de font ș i aceeaș i culoare de font.


Este important de menț ionat aici că doar articolele de text pot fi plasate în interior
un widget Listbox.
Din această listă de articole, utilizatorul poate selecta unul sau mai multe articole în funcț ie de
cerinț ele.

Widgetul Listbox Tkinter


Sintaxa widget-ului Listbox Tkinter este dată mai jos:
W = Listbox(stăpân, opț iuni)
În sintaxa de mai sus, parametrul master denotă fereastra părinte. Puteț i folosi
multe opț iuni pentru a schimba aspectul ListBox-ului ș i aceste opț iuni sunt scrise ca
perechi cheie-valoare separate prin virgule.

Opț iuni pentru widget-ul Listbox Tkinter:


Următoarele sunt diferitele opț iuni utilizate cu widget-urile Listbox:

Numele opț iunii Description


bg Această opț iune indică culoarea de fundal a widget-ului.
Această opț iune este folosită pentru a reprezenta dimensiunea marginii.
bd
valoarea implicită este de 2 pixeli.

cursor
Cu ajutorul acestei opț iuni, indicatorul mouse-ului va arăta
tipul cursorului, cum ar fi punct, săgeată, etc.

font Această opț iune indică tipul de font al elementelor din Listbox.

fg Această opț iune indică culoarea textului.


Această opț iune este folosită pentru a reprezenta numărul liniilor afiș ate
înălț ime
în Listbox. Valoarea implicită a acestei opț iuni este 10.
Această opț iune este folosită pentru a indica culoarea listei.
highlightcolor
elemente când widget-ul este în focus.
highlightthickness Această opț iune este folosită pentru a indica grosimea evidenț ierii.

uș urare
Această opț iune indică tipul de margine. Valoarea implicită
este SUBMERS
Numele opț iunii Description

selectaț i fundalul
This option is used to indicate thebackground colorthat is
folosit pentru a afiș a textul selectat.

Această opț iune este folosită pentru a determina numărul de articole care pot
selectmode fi selectat din listă. Poate seta
toBROWSE,SINGLE,MULTIPLE,EXTENDED.
Această opț iune este utilizată pentru a reprezenta lăț imea widget-ului în
lăţime
caractere.
Această opț iune este folosită pentru a permite utilizatorului să deruleze Listbox-ul
xscrollcommand
orizontal.
Această opț iune este folosită pentru a permite utilizatorului să deruleze Listbox-ul.
yscrollcommand
vertical.

Exemplu de widget ListBox Tkinter


Mai jos avem un exemplu de bază folosind acest widget:
din tkinter import*
top = Tk()
[Link]("200x250")
lbl = Label(top, text=“List of Programming Languages”)
listbox = Listbox(top)
[Link](1, "Python")
[Link](2,"Java")
[Link](3, "C")
[Link](4,"C++")
[Link]()
[Link]()
[Link]()

În exemplul de cod de mai sus, am creat un widget Listbox simplu cu câteva elemente
împreună cu specificarea elementului de top care este titlul pe widgetul Listbox.
Rezumat:
În acest tutorial, am învăț at despre Widget-ul Listbox Tkinter, sintaxa sa de bază,
metode utilizate frecvent pentru widgetul ListBox ș i un exemplu de cod.
PARTEA 17: Python Tkinter
Widget de derulare
În acest tutorial, vom acoperi widgetul TkinterScrollbar.
Python, folosind care putem adăuga o bară de defilare pentru utilizator
interfaț a aplicaț iei noastre Tkinter.
Pentru a derula în sus, în jos, la dreapta sau la stânga conț inutul într-un Python
aplicaț ie desktop, widgetul TkinterScrollbar este folosit.

Derulaț i conț inutul altor widgeturi


likeListbox,canvas, etc folosim acest widget.
Atât barele de derulare orizontale, cât ș i cele verticale pot fi
creat în widgetul Trinket Entry.
Mai jos avem o imagine care arată widgetul scrollbar folosit cu un
Listbox:

Numele
Description
Opț iune
Această opț iune reprezintă fundalul
fundal activ culoarea widget-ului atunci când este sub
concentrează-te.

bg
Această opț iune reprezintă fundalul
color of the widget
Această opț iune reprezintă dimensiunea limitei de
bd
widgetul. Valoarea implicită este de 2 pixeli.

Cu ajutorul acestei opț iuni, mouse-ul


cursor
pointer va fi schimbat într-un specific
tipul cursorului ș i poate fi o săgeată, un punct,
etc.
Această opț iune va fi setată la procedură
comandă asociat care este apelat de fiecare dată când
bara de derulare a fost mutată.
Numele
Descriere
Opț iune
Această opț iune reprezintă în principal graniț a
elementborderwidt
lăț imea din jurul vârfurilor săgeț ilor ș i a glisorului.
h
The default value of this option is -1.

highlightthickness
Această opț iune reprezintă grosimea
accentuează accentul
Această opț iune indică evidenț ierea
evidenț iere fundal
nd culoare când widget-ul nu este sub
focalizare

highlightcolor
Această opț iune indică evidenț ierea
culoare atunci când widgetul este sub focus
Această opț iune este folosită pentru a controla
comportamentul saltului de derulare. Dacă această opț iune
sari este setat la 1, atunci callback-ul este apelat la
timpul când utilizatorul eliberează mouse-ul
buton.
Această opț iune poate fi setată la orizontal
orient sau vertical, în funcț ie de orientare
al barei de derulare.

lăț ime
Această opț iune reprezintă lăț imea
bară de derulare.
Această opț iune este utilizată pentru a seta culoarea pentru
culoare transparentă
prin
Implicite, poț i schimba focalizarea prin tab
ia focalizarea acest widget. Dacă nu vrei acest lucru
comportament poț i seta această opț iune la 0.
Această opț iune este folosită în principal pentru a spune

durata până la care butonul trebuie să fie


repeatdelay apăsat înainte ca glisorul să înceapă să se miș te în
acea direcț ie în mod repetat. valoarea sa implicită
is300 ms
Numele
Description
Opț iune
repeatinterval Valoarea implicită a acestei opț iuni este 100

Widget Scrollbar Tkinter


Sintaxa widget-ului Scrollbar este dată mai jos:
W = BaraDeDerulare(master, opț iuni)
În sintaxa de mai sus, parametrul principal denotă părintele
fereastră. Puteț i folosi multe opț iuni pentru a vă configura
widget scrollbar ș i aceste opț iuni sunt scrise ca o virgulă-
perechi cheie-valoare separate.

Opț iuni pentru widget-ul Scrollbar Tkinter:


Următoarele sunt diferitele opț iuni utilizate cu Tkinter Scrollbar
widgets:
Metodele widget-ului Scrollbar Tkinter:
Câteva metode utilizate cu widget-urile Scrollbar Tkinter sunt:

get():

Această metodă returnează cele două numere


să presupunem că a ș i b reprezintă poziț ia actuală a
bara de derulare.

set(first, last):

Această metodă este folosită pentru a conecta bara de derulare la orice altceva.
widget. Aceasta este comanda isyscrollcommandorxscrollcommand a celorlalte
widget pentru această metodă.

Exemplu de widget Scrollbar Tkinter


Mai jos avem un exemplu de bază al unui widget de derulare.
din tkinter import*
win= Tk()
sbb = Scrollbar(win)
[Link](side = DREAPTA, fill = Y)
mylist = Listbox(win, yscrollcommand = [Link])
forlineinrange(45):
[Link](END, "Valoare " + str(line))
[Link](side = STÂNGA)
[Link](command = [Link])
ciclul principal()

După cum puteț i vedea în codul de mai sus, am creat un Listbox


widget cu numere ca elemente de listă în el. Apoi am creat un
Widget-ul scrollbar ș i a folosit opț iunea theyscrollcommand.
Widget-ul Listbox pentru a seta widget-ul Scrollbar cu acesta. Am avut
am folosit funcț ia set a widget-ului Scrollbar aici.

Summary:
Aș adar, am acoperit widgetul Scrollbar din Tkinter. Este foarte
util unde avem o aplicaț ie Tkinter cu liste lungi sau
un widget care este prea lung pentru a se încadra în aplicaț ie
fereastră. Atunci putem folosi widget-ul Scrollbar pentru astfel de
aplicaț ii.
PARTEA 18: Python Tkinter
Widget de scalare
În acest tutorial, vom acoperi widgetul TkinterScale
Python care este folosit pentru a adăuga un obiect slider grafic care
utilizatorul poate glisa ș i alege un număr, ca valoare numerică este
ataș at acestui scale cu slider ș i, pe măsură ce muț i sliderul
sus/jos sau dreapta/stânga valoarea numerică ataș ată creș te
sau scade ș i poț i seta glisorul la valoarea dorită
selectaț i.

Thesliding barprovided bythe scale widgetis


util în selectarea valorilor doar prin glisare de la
de la stânga la dreapta sau de sus în jos, în funcț ie de
oriantarea barei glisante în aplicaț ia noastră.
Widgetul de scală este folosit ca o alternativă la
Widgetul Entry dacă scopul widgetului Entry este să
introduceț i un input numeric de la utilizator într-un interval dat de
valori.
De asemenea, poț i controla minimul ș i maximul
valoare împreună cu rezoluț ia scalei.

Widget Scale Tkinter


Sintaxa widget-ului TkinterScale este dată mai jos:
W = Scală(maestru, opț iuni)
În sintaxa de mai sus, parametrul părinte denotă masterul
fereastră. Puteț i folosi multeopț iuni pentru a schimba aranjamentul
scala widget ș i aceste opț iuni sunt scrise ca o virgulă-
chei-valori separate.
Metodele widget-ului Scale Tkinter
Următoarele sunt câteva metode utilizate cu widget-urile Scale:
get():

This method is used to get the current value of the scale.


set(value):

Această metodă este folosită pentru a seta valoarea scalei.

Widget Tkinter Scale - Orizontal


Exemplu
Mai jos avem un exemplu de bază în care vom crea un
bara de glisare orizontală.

din tkinter import *


win = Tk()
[Link]("200x100")
v = DoubleVar()
scale = Scale( win, variable=v, from_=1, to=50,
orient=HORIZONTAL
[Link](anchor=CENTRU)
btn = Button(win, text=“Value”)
[Link](anclor=CENTRU)
label = Label(win)
[Link]()
[Link]()

În acest tutorial, am creat un widget Scale orizontal.


vezi în cod, am specificat
orientareaHORIZONTALpentru asta. De asemenea, am specificat
gama valorilor numerice pentru scala glisantă.
Widget Tkinter Scale - Vertical
Exemplu
Mai jos avem un alt exemplu în care vom crea
avertical slider:
de la tkinter import *
win = Tk()
[Link]("400x300")
v = DoubleVar()
defshow():
sel =“TheVertical ScaleValue is = “+str([Link]())
# adăugarea valorii scalei la etichetă pentru a arăta

scale_val.config(text=sel, font=("Courier",16))
scl = Scale(win, variable=v, from_=60, to=1,
orient=VERTICAL
mainlabel = Label(win, text=“TheVertical Slider”)
btn = Button(win, text =“Show SliderValue”,
command = show,
bg =“darkblue”,
fg =“white”)
crearea unei alte etichete pentru a arăta valoarea scalei

scale_val = Label(win)
[Link](ancrează = CENTRU)
[Link]()
[Link]()
scale_val.pack()
[Link]()
Puteț i muta sliderul de jos în sus, deoarece este vertical.
slider. În exemplul dat, am adăugat de asemenea un buton pentru
aplicaț ia noastră ș i am definit o funcț iearată() că este
ataș at la widget-ul butonului ca un handler de eveniment. Aș a că după ce
utilizatorul foloseș te glisorul pentru a selecta orice valoare ș i apoi face clic pe
buton, valoarea va fi afiș ată într-un widget Label mai jos
buton.

Summary:
În acest tutorial, am învăț at despre widgetul Scale Tkinter
care este un bun component UI pentru a lua input numeric
valoare într-un interval specific de la utilizatorul final.
PARTEA 19: Python Tkinter
Toplevel Widget
În acest tutorial, vom acoperi widgetul TkinterToplevel.
Python care este folosit pentru a crea ș i a afiș a feronete de nivel superior
în afară de fereastra aplicaț iei.

Cu ajutorul widget-ului TkinterToplevel, tu


poate oferi informaț ii suplimentare utilizatorului într-un
fereastră separată deasupra ferestrei părinte.
Acest fereastră de nivel superior a fost creată folosind Toplevel
widgetis este organizat ș i gestionat direct de
manager de feronerie
Nu este necesar ca feronierul de nivel superior să aibă
părinț i pe vârful lor.
Poț i crea mai multe feronieruri de nivel superior unul peste altul
celălalt.
Feronț ele de nivel superior create folosind widgeturi de nivel superior

titlu conț inut bare, margini ș i o fereastră


decoaratiuni de asemenea.

Cu ajutorul acestui widget, poț i oferi


ups, câteva informaț ii suplimentare, sau câteva widgeturi
fereastra nouă dacă vrei.

Widgetul Toplevel din Python Tkinter


Sintaxa widget-ului Toplevel din Tkinter este dată mai jos:
W = Toplevel(master,opț iuni)
În sintaxa de mai sus, parametrul master denotă părintele
fereastră. Puteț i folosi multe opț iuni pentru a configura
Widget de nivel superior ș i aceste opț iuni sunt scrise ca o virgulă -
perechi cheie-valoare separate.
Exemplu de widget Toplevel Tkinter
Mai jos avem un exemplu de bază în care vom crea un simplu
fereastră de nivel superior.

fromtkinterimport*
win = Tk()
[Link]("200x200")
defopen():
top = Toplevel(win)
[Link]()
btn = Button(win, text=“open”, command=open)
[Link]ă(x=75, y=50)
[Link]()

In the code above, we have created a Toplevel widget that is


creat ș i început când butonul este apăsat.

Summary:
Deci acum ș tim ce este un widget Toplevel Tkinter ș i cum
pentru a-l crea. Widgetul Toplevel din Tkinter este bun pentru a arăta câteva
secț iunea aplicaț iei tale într-o fereastră diferită care este
afiș at în partea de sus a ferestrei principale a aplicaț iei.
PARTEA 20: Python Tkinter
Widget Spinbox
În acest tutorial, vom aborda widgetul TkinterSpinbox.
Python cu sintaxa sa ș i câteva exemple. Widget-ul Spinbox
în Tkinter în Python este folosit pentru a selecta o valoare din
intervalul specificat de valori.
Este diferit deWidgetul Scale Tkinter(Widget de scalare
fiind mai elegant) în ceea ce priveș te stilul, dar mai mult sau mai puț in, îndeplineș te
acelaș i scop.
De exemplu, când vrei să ai un meniu derulant de numere
valorile precum anul naș terii (din 1950 până în 2020) sau un meniu derulant
pentru ca utilizatorul să îș i aleagă vârsta, putem folosi Tkinter Spinbox
widget.

Acest widget este o alternativă la widgetul Entry,


când dorim ca utilizatorul să introducă o valoare numerică în cadrul unui
interval specific.
Acest widget este folosit doar în cazul în care utilizatorii
trebuie să alegi dintr-o gamă dată de opț iuni.

Widgetul Spinbox Tkinter


Sintaxa widget-ului Spinbox este dată mai jos:
w = Spinbox(master, option=value)
În sintaxa de mai sus, parametrul master denotă părintele
fereastră.Puteț i utiliza multe opț iuni pentru a configura spinbox-ul dvs.
widget ș i aceste opț iuni sunt scrise ca separate prin virgulă
perechi cheie-valoare.

Exemplu de widget Spinbox Tkinter


Mai jos avem un exemplu de bază al widget-ului Spinbox. Să ne lăsăm
vedeț i fragmentul de cod dat mai jos:
de tkinker import *
win = Tk()
[Link]("300x200")
w = Label(win, text ='StudyTonight', fg='navyblue', font =
50
[Link]()
sp = Spinbox(win, de la=0, la=50)
[Link]()
[Link]()

În codul de mai sus, am creat o fereastră simplă de aplicaț ie,


cu un widget aLabel ș i un widget Spinbox cu interval
de la 0 la 50.

Summary:
Aș a funcț ionează un widget Spinbox în TKinter. Este folosit pentru
crearea unui input pentru un interval specificat de valori numerice, care
utilizatorul poate selecta. Dacă avem o gamă definită de numere, atunci este
mai bine să foloseș ti widget-ul Spinbox decât să foloseș ti aTkinter
Widget de intrare.
PARTEA 21: Python Tkinter
Widget cadran etichete
În acest tutorial, vom acoperi TkinterLabelFrame
widget în Python cu sintaxa sa ș i câteva exemple.
Widgetul LabelFrame este folosit în principal pentru a desena margini în jurul
widgeturile copil

Acest widget este un widget de container cu margini ș i


este folosit pentru a grupa widgeturile corelate într-un Tkinter
aplicaț ie pentru a oferi o experienț ă mai bună utilizatorului
utilizator.
De exemplu, putem grupa butonul radio
widget-uri folosite într-o aplicaț ie folosind labelframe
widget.
De asemenea, se poate adăuga un titlu pentru LabelFrame
widget (vom vedea acest lucru în exemplul de cod).
Widgetul LabelFrame este pur ș i simplu o variantă a
widgetul Frame ș i are toate caracteristicile unui
cadru.
Notă: Dacă aț i folositHTML pentru dezvoltarea web, apoi
labelframe este la fel ca eticheta HTML fieldset.

Widget LabelFrame Tkinter


Sintaxa widget-ului LabelFrame este dată mai jos. Să ne
vezi:
w = LabelFrame(master, optiune=valoare)
În sintaxa de mai sus, parametrul principal denotă părintele
fereastră.Puteț i folosi multeopț iuni pentru configurarea cadrului etichetei
ș i aceste opț iuni sunt scrise ca perechi cheie-valoare separate prin virgulă
perechi.
Exemplu de widget LabelFrame Tkinter
Mai jos avem un exemplu de bază al widget-ului LabelFrame. Permiteț i-mi
să vedem fragmentul de cod dat mai jos:
din tkinter import*
win = Tk()
[Link]("300x200")
labelframe1 = LabelFrame(win, text=“Happy Thoughts!!!”)
[Link](filtrare=„ambele”, extinde=„da”)
toplabel = Label(labelframe1, text=“You can put your happy
gânduri aici")
[Link]()
labelframe2 = LabelFrame(win, text =“ChangesYou want!!”)
[Link](fill="ambele", expand ="da")
bottomlabel = Label(labelframe2, text =“You can put here the
schimbările pe care le doreș ti, dacă este cazul!)

[Link]()
[Link]()
Aș a cum poț i vedea în rezultatul de mai sus, am creat două
widget-uri labelframe, în care am adăugat text pentru
widgets labelframe, iar în interiorul widget-ului labelframe avem
widget onelabel. Putem avea atâtea widget-uri în interiorul
widget labelframe, aș a cum ne dorim.

Summary:
Aș adar, prin aceasta am încheiat widget-ul labelframe Tkinter
care este la fel ca eticheta fieldset HTML, dacă cunoș ti HTML.
widgetul labelframe este folosit pentru a crea o margine în jurul altora
widgets pentru a grupa alte widgets prezente în aplicaț ia ta.
PARTEA 22: Python Tkinter
Widget PanedWindow
În acest tutorial, vom acoperi widgetul TkinterPanedWindow care este în principal
un widget container care conț ine unul sau mai multe widgeturi copil care sunt de asemenea
cunoscut sub numele de Pane.

Acest widget aranjează widgeturile copil fie vertical, fie orizontal.


mod.
Este cunoscut ș i sub denumirea deGeometry Manager widget.
Acest widget este folosit pentru a implementa diferite layout-uri într-un desktop Python
aplicaț ie creată folosind modulul Tkinter.
Widget-urile copil din widget-ul PanedWindow pot fi redimensionate de către
utilizând mouse-ul pentru a muta liniile de separare.
Puteț i implementa multiple panouri folosind widgetul PanedWindow.
Iată o fereastră de aplicaț ie Tkinter simplă cu trei widget-uri aranjate vertical
în interiorul unui widget PanedWindow.

Widget PanedWindow Tkinter


Sintaxa widget-ului PanedWindow este dată mai jos:
W = PanedWindow(master, opț iuni)
În sintaxa de mai sus, parametrul master denotă fereastra părinte. Puteț i folosi
multe opț iuni pentru a schimba aspectul PanedWindow ș i aceste opț iuni sunt
scris ca o listă separată prin virgulă.

Metodele widgetului PanedWindow Tkinter:


Următoarele sunt câteva metode utilizate cu widget-ul PanedWindow:

Numele metodei Description


Această metodă este folosită în principal pentru a configura orice widget cu unele
configura(opț iuni)
opț iuni specificate.
Numele metodei Description

get(incepere_index, sfarsit_index) Această metodă este folosită pentru a obț ine textul din intervalul specificat.

adauga(child, optiuni) Această metodă este folosită pentru a adăuga o fereastră la o fereastră părinte.

Exemplu de widget PanedWindow Tkinter


Mai jos avem un exemplu de bază pentru înț elegerea widget-ului PanedWindow.
Să vedem fragmentul de cod dat mai jos:
de la tkinter import *
handler de evenimente pentru buton

defadunare():
x = int([Link]())
y = int([Link]())
leftdata =str(x+y)
[Link](1, leftdata)
prima fereastră cu panouri

w1 = PanedWindow()
[Link](fill=BOTH, expand=1)
leftinput = Entry(w1, bd=5)
[Link]ă(leftinput)
fereastră secundară
w2 = PanedWindow(w1, orient=VERTICAL)
[Link]ă(w2)
e1 = Intrare(w2)
e2 = Intrare(w2)
[Link](e1)
[Link](e2)
bottomBtn = Button(w2, text=“Addition”, command=addition)
[Link]ă(bottomBtn)
mainloop()

Aș a cum puteț i vedea mai sus, în rezultatul afiș at, avem o fereastră de aplicaț ie, în care noi
am 3 widget-uri Entry tkinter ș i 1 widget Button tkinter, stivuite folosind 2
Widgeturile PanedWindow sunt aranjate vertical, unele lângă altele.
Dacă vei introduce două numere în câmpurile de intrare din partea dreaptă ș i apoi vei face clic pe
Butonul de adăugare, rezultatul adunării numerelor din dreapta va fi afiș at în
widget de intrare pe partea stângă.

Widgets PanedWindow Tkinter - Panouri multiple


Exemplu
Să vedem un alt fragment de cod al acestui widget mai jos:
de tkinter import*
dintkinterimporttk
win = Tk()
pw = PanedWindow(orient = 'vertical')
#crearea widget-ului Buton
top = [Link](pw, text =“Just Click Me!!!\nI am a Button”)
[Link](side=TOP)
Adăugarea unui widget buton în feronieră
[Link]ă(top)
#Crearea widget-ului Checkbutton
bot = Checkbutton(pw, text=“I am Checkbutton Choose Me!”)
[Link](lateral = SUS)
[Link]ă(bot)
label = Label(pw, text=“I am a Label”)
[Link](laturi= SUS)
[Link]ă(eticheta)
string = StringVar()
entry = Entry(pw, textvariable=string, font=(‘arial’,15,‘bold’))
[Link]()
Acesta este folosit pentru a forț a focalizarea pe un widget anume

asta înseamnă că widget-ul este deja selectat pentru some operaț iuni
entry.focus_force()
[Link]ă(entru)
[Link](fill = BOTH, expand =True)
Pentru a arăta fereastra

[Link](sashrelief = RIDICAT)
buclăprincipală()
În exemplul de cod de mai sus, am creat mai multe widget-uri într-o fereastră împărț ită.
widget. De asemenea, am folosit variabila StringVar() ș i am folosit funcț ia focus_force()
a avea widget-ul de intrare în focus când aplicaț ia este încărcată.

Summary:
În acest tutorial, am învăț at despre widgetul PanedWindow, care este un widget grozav dacă
vrei să creezi un aranjament în formă de grilă cu mai multe coloane pentru widget-uri în aplicaț ia ta.
PARTEA 23: Python Tkinter Text
Widget
În acest tutorial, vom aborda widget-ul TkinterText în Python. Dacă doriț i
un editor de text în aplicaț ia ta desktop, atunci poț i folosi TkinterText
widget
Widget-ul text este folosit pentru a oferi o casetă de text pe mai multe linii (casetă de introducere)

pentru că în Tkinter căsuț a de text pe o singură linie este furnizată folosindWidget de intrare.

Puteț i folosi diverse stiluri ș i atribute cu widgetul Text.


De asemenea, puteț i folosi mărci ș i taburi în widget-ul Text pentru a localiza
secț iuni specifice ale textului.
Fiș iere media precum imagini ș i linkuri pot fi, de asemenea, inserate în text
Widget.
Există o varietate de aplicaț ii în care ai nevoie de text pe mai multe linii
îi place să trimită mesaje sau să primească inputuri lungi de la utilizatori, sau să arate
text de format lung editabil în aplicaț ie, etc. cazuri de utilizare sunt
îndeplinit de acest widget.
Astfel, pentru a arăta informaț ii textuale, vom folosi Textul
widget

Widget Text Tkinter


Sintaxa widget-ului Text este dată mai jos:
W = Text(master, opț iuni)
În sintaxa de mai sus, parametrul master denotă fereastra părinte. Puteț i folosi
multe opț iuni pentru a configura editorul de text ș i aceste opț iuni sunt scrise ca o virgulă-
perechi cheie-valoare separate.

Metodele widget-ului Text Tkinter:


Unele metode utilizate cu widgetul de text sunt date mai jos:

Metodă Description

index(index) Această metodă este folosită pentru a obț ine indicele specificat.

Această metodă returnează adevărat sau fals pe baza faptului că dacă


vezi(index)
ș irul este vizibil sau nu la indexul specificat.
Această metodă este utilizată pentru a insera un ș ir la specificat
inserare(index, sir)
indiciu.

get(indiceîncepere, indicefinal)
Această metodă returnează caracterele specificate
interval
Metodă Description

ș terge(incepere, sfârș it)


Această metodă ș terge caracterelor din cei specificaț i
gamă

Metode pentru gestionarea etichetelor


În principal, etichetele sunt folosite pentru a configura diferite zone ale widget-ului text separat.
Tagul este practic numele dat zonelor separate ale textului. Unele metode pentru
etichetele de manipulare sunt date mai jos:

tag_config()

Toconfigure the propertiesof the tag this method will be used.


tag_adaugă(numele_tagului, indexul_de_start, indexul_final)

Această metodă este folosită în principal pentru a eticheta ș irul care este prezent la
index specificat.
stergere_eticheta(numele_etichetei)
Această metodă este folosită în principal pentru a ș terge eticheta specificată.

tag_remove(numele_tagului, indexul_de_start, indexul_final)

Pentru a elimina eticheta din intervalul specificat, se foloseș te această metodă.

Metode pentru gestionarea marcajelor


Într-un widget de text dat, pentru a marca poziț ii specificate între
Markis a fost folosit. Câteva metode pentru acelaș i lucru sunt prezentate mai jos:

index(mark)
Această metodă este folosită în principal pentru a obț ine indexul mărcii specificate.

marca_nume()

Această metodă este folosită pentru a obț ine toate numele mărcii în intervalul din text
widget.
mark_gravity(mark, gravity)
Pentru a obț ine gravitatea marcajului dat, această metodă va fi folosită.

mark_set(mark, index)

Această metodă este utilizată pentru a informa noua poziț ie a semnului dat.

mark_neconfigurat(mark)

Pentru a elimina marca dată din text, va fi folosită această metodă.

Exemplu de Widget Text Tkinter


Să discutăm un exemplu de bază pentru widget-ul de text. Fragmentul de cod pentru
exemplul widget-ului de text este dat mai jos:
import tk
fromtkinterimport*
win = Tk()
pentru a specifica dimensiunea feronerie.

[Link]("250x170")
Pentru a crea un widget de text ș i a specifica dimensiunea.

T = Text(win, înălț ime =6, lăț ime =53)


# A crea eticheta
l = Label(win, text =“Quote for the Day”)
[Link](font =(“Courier”,14))
Quote =“““Success usually comes to those who are too busy to be looking for
îț i
Creează un buton pentru următorul text.
b1 = Button(win, text =“Next”, )
Creează un buton de Ieș ire.
b2 = Buton(win, text = "Iesire",
command = [Link])
[Link]()
[Link]()
[Link]ă()
[Link]()
# Introduceț i Citatul
[Link]([Link], Citat)
[Link]()
Ieşirea pentru fragmentul de cod dat mai sus este următoarea:

Dacă vrei să distrugi această fereastră, apasă pe butonul Ieș ire.

Rezumat:
În acest tutorial, am învăț at despre widgetul Text din Tkinter, care este utilizat atunci când dorim să adăugăm
a textarea in our application for taking large user inputs.
PARTEA 24: Python Tkinter
Mesaj de notificare
În acest tutorial, vom acoperi cum să creăm ș i să folosim Tkinter
MesajBox în timpul dezvoltării aplicaț iilor desktop.
Pentru a afiș a casete de mesaj într-o aplicaț ie desktop,
folosim modulul MessageBox în Tkinter.

Există diverse funcț ii prezente în acest modul


care ajută la furnizarea unui tip adecvat de
mesaj conform cerinț ei.
Cu ajutorul acestui modul, putem crea pop-up-uri
casete de mesaj pentru a lua input de la utilizator.

Funcț iile modulului MessageBox sunt după cum urmează


urmează: showError(), askretrycancel(), showwarning(), etc., toate
din care sunt folosite pentru a crea o casetă de mesaj.

Tkinter MessageBox
Pentru a utiliza modulul messagebox, trebuie mai întâi să-l importăm în
scriptul nostru python:
de la tkinter import messagebox
Următoarea este sintaxa de bază pentru a folosi caseta de mesaj:
messagebox.function_name(titlu, mesaj [, opț iuni])
În sintaxa de mai sus, am folosit următoarele:

numele_funcț iei
Acesta este folosit pentru a indica numele celui corespunzător
Funcț ia MessageBox.

title
Acesta este folosit pentru a indica textul care va fi afiș at în titlu
bara feroniei mesajului corespunzător.

mesaj
Aceasta este folosită pentru a indica textul care urmează să fie afiș at ca un
mesaj în caseta de mesaj.

opț iuni
Este folosit pentru a indica diverse opț iuni pentru a configura
MessageBox-ul. Există două valori pentru acesta ș i acestea
suntimplicitș ipărinte.

Este folosit pentru a specifica un buton implicit


cum ar fi ABORT, RETRY, IGNORE.
parent:It is used to specify a window on the top
de care vom afiș a MessageBox-ul.
Funcț iile prezente în modulul MessageBox foloseș te
aceeaș i sintaxă, dar funcț ionalităț ile fiecărei funcț ii sunt
diferit.
Să vedem câteva funcț ii ale modulului MessageBox Tkinter.

Tkinter MessageBox -showwarning()


Această metodă este folosită pentru a afiș a orice avertizare utilizatorului într-o
Aplicaț ie Python.
Iată un cod pentru acelaș i lucru:
din tkinter import*
de la tkinter importă messagebox
win = Tk()
[Link]("200x200")
[Link](“warning”,“This is a Warning”)
[Link]()
Tkinter MessageBox - întrebare()
Această metodă din MessageBox este folosită în principal pentru a întreba anumite
întrebare pentru utilizator care poate fi răspunsă fie
daSauNu.
Codul pentru această metodă este următorul:
din tkinter import *
fromtkinterimportmessagebox
win = Tk()
[Link]("100x100")
[Link](“Confirm”,“Are you sure about it?”)
[Link]()

Tkinter MessageBox -askretrycancel()


Dacă vrei să întrebi un utilizator dacă să facă o anumită sarcină sau nu
atunci această metodă va fi folosită.

Să vedem codul pentru acelaș i lucru:


de tkinter import*
fromtkinterimportmessagebox
win= Tk()
[Link]("100x100")
[Link]("Aplicaț ie", "vrei să încerci")
încă o dată?
[Link]()

Tkinter MessageBox -showerror()


Pentru a afiș a un mesaj de eroare, această metodă va fi folosită.

Să vedem fragmentul de cod dat mai jos:


de tkinter import*
din tkinter import messagebox
top = Tk()
[Link]("100x100")
[Link](“errorWindow”,“oops!!!Error”)
[Link]()

Rezumat:
În acest tutorial, am învăț at despre diferitele tipuri de mesaje
cutii pe care le putem crea pentru a arăta informaț ii utilizatorului sau pentru a lua
informaț ii din partea utilizatorilor, cum ar fi confirmarea unei acț iuni, etc. Mesajul
cutiile sunt ca feroneriile în care putem arăta erori, avertizări,
etc. către utilizator.
PART 25: Calculator
Aplicaț ie care foloseș te Tkinter
(Proiect Python)
În acest tutorial, vom acoperi cum să creăm un simplu
aplicaț ie de calculator folosind PythonTkinter.

Aș a cum am abordat în tutorialele noastre anterioare, am acoperit cum să


creaț i butoane tkinter, etichete tkinter, intrare tkinter, tkinter
frame-uri ș i butoane de verificare Tkinter, ș i multe altele. Acum cu
ajutorul tuturor widget-urilor discutate în secț iunile anterioare, noi
o să creăm o aplicaț ie de calculator folosind Tkinter.
Iată cum va arăta calculatoarele noastre, care este realizat folosind
câmpul de introducere, butoanele ș i pentru scopul calculului vom
foloseș te logică în codul nostru definit în funcț ii, de exemplu, dacă vrei să
adaugă două numere, apoi în spatele acestuia trebuie să existe o logică pentru
scopul adunării, similar pentru scădere, înmulț ire,
etc, am creat funcț ii care au sarcina de a efectua acestea
operaț iuni.
Avem un câmp de introducere în care va fi afiș at inputul utilizatorului
iar rezultatul final al calculului va fi afiș at.
Ș i butoanele sunt ca 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, *, /, =,
. ș i C(buton clar)

Ce este un calculator?
Pentru cei care nu ș tiu, un calculator este practic o
program pe un computer care simulează comportamentul
orice calculatoare manuale utile pentru efectuare
Calculaț ii matematice. Este un dispozitiv foarte simplu folosit în
vieț ile noastre de zi cu zi. Acum toate smartphone-urile au de asemenea o
Aplicaț ie de calculator în ele.
În timp ce creezi o aplicaț ie GUI, există în principal două
steps:

Primul pas este să creezi o interfaț ă utilizator.


Al doilea pas este cel mai important ș i în
aceasta, pentru a adăuga funcț ionalităț i la interfaț a grafică

Acum să începem cu crearea unei aplicaț ii simple de calculator folosind


Tkinter în Python care este utilizat pentru aritmetica de bază
calculări.
Cod aplicaț ie de calculatoare
Acum este timpul să aruncăm o privire la codul pentru a crea un Calculator
Aplicaț ie folosind Tkinter:

de la tkinter import *
win = Tk()# Acesta este pentru a crea o fereastră de bază

[Link]("312x324")# aceasta este pentru dimensiunea feronului


[Link](0,0)# aceasta este pentru a preveni redimensionarea
fereastră
[Link](“Calculator”)
###################Începând cu funcț ii
####################
# funcț ia ‘btn_click’ :
Această funcț ie actualizează continuu
# input field whenever you enter a number
defbtn_click(item):
globalexpression
expression = expression + str(item)
input_text.set(expressie)
'bt_clear' funcț ia: Aceasta este folosită pentru a ș terge

câmpul de introducere
defbt_clear():
expresie globală
expression =””
input_text.set("")
# ‘bt_equal’:This method calculates the expression
# prezent în câmpul de introducere

defbt_equal():
expresie globală
result =str(eval(expression))# ‘eval’:This function is used
pentru a evalua expresia de tip ș ir direct
input_text.set(result)
expression =””
expression =””
'StringVar()': Este folosit pentru a obț ine instanț a câmpului de introducere

input_text = StringVar()
Hai să creăm un cadru pentru câmpul de input
input_frame = Cadru(win, lăț ime=312, înălț ime=50, bd=0,
highlightbackground=“black”, highlightcolor=“black”,
highlightthickness=2)
input_frame.pachează(laterale= SUS)
Să creăm un câmp de introducere în interiorul 'Frame'
input_field = Entry(input_frame, font=('arial',18,'bold'),
textvariable=input_text, width=50, bg=“#eee”, bd=0,
justify=DREAPTA
input_field.grid(linie=0, coloană=0)
input_field.pack(ipady=10)# 'ipady' este umplutură internă pentru
creș te înălț imea câmpului de introducere
Să creăm un alt 'Cadru' pentru butonul de mai jos
cadru_de_intrare
btns_frame = Cadru(win, lăț ime=312, înălț ime=272.5,
bg=“grey”)
btns_frame.pune()
prima linie
clear = Button(btns_frame, text =“C”, fg =“black”, width =
32, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: bt_clear()).grid(row =0, column =0,
columnspan =3, padx =1, pady =1
divide = Button(btns_frame, text =“/”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: btn_click(“/”)).grid(row =0, column =3,
padx =1, pady =1)
rândul doi
seven = Button(btns_frame, text =“7”, fg =“black”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
command =lambda: btn_click(7)).grid(row =1, column =0,
padx =1, pady =1)
eight = Button(btns_frame, text =“8”, fg =“black”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă = lambda: btn_click(8)).grid(rând = 1, coloană = 1,
padx =1, pady =1)
nine = Button(btns_frame, text =“9”, fg =“black”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
command =lambda: btn_click(9)).grid(row =1, column =2,
padx =1, pady =1)
multiply = Button(btns_frame, text =“*”, fg =“black”, width
=10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: btn_click(“*”)).grid(row =1, column =3,
padx =1, pady =1)
a treia linie
four = Button(btns_frame, text =“4”, fg =“black”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
command =lambda: btn_click(4)).grid(row =2, column =0,
padx =1, pady =1)
cinci = Buton(btns_frame, text =“5”, fg =“negru”, width =10,
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(5)).grid(row =2, column =1, padx =1,
pady =1)
text
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(6)).grid(row =2, column =2, padx =1,
pady =1)
minus = Button(btns_frame, text =“-”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: btn_click(“-”)).grid(row =2, column =3,
padx =1, pady =1)
a patra linie
unul = Buton(btns_frame, text ="1", fg ="negru", width =10,
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(1)).grid(row =3, column =0, padx =1,
pady =1)
două = Buton(btns_frame, text ="2", fg ="negru", width =10,
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(2)).grid(row =3, column =1, padx =1,
pady = 1)
text
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă = lambda: btn_click(3)).grid(linie = 3, coloană = 2,
padx =1, pady =1)
plus = Buton(btns_frame, text = "+", fg = "negru", width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: btn_click(“+”)).grid(row =3, column =
3, padx =1, pady =1)
al patrulea rând

zero = Button(btns_frame, text =“0”, fg =“black”, width =


21, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă =lambda: btn_click(0)).grid(row =4, column =0,
columnspan =2, padx =1, pady =1
point = Button(btns_frame, text =“.”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: btn_click(“.”)).grid(row =4, column =2,
padx =1, pady =1)
equals = Button(btns_frame, text =“=”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: bt_equal()).grid(row =4, column =3,
padx =1, pady =1)
[Link]()
Există o varietate de funcț ii în Tkinter cu ajutorul
themit becomes easyandconvenient to make a simple
calculatoaredoar cu acest mic cod.
În afară de widget-urile Tkinter, am definit următoarele
funcț iile din codul nostru:
btn_click()Function:Această
funcț ie gestionează clicul pe butonul
diferite butoane numerice pentru a le adăuga la operaț ie.
bt_clear()Function:Această funcț ie este folosită pentru a gestiona ș tergerea
operaț ie pentru a curăț a introducerea anterioară în Calculator
aplicaț ie.
bt_equal()Function:Această funcț ie este folosită pentru a gestiona egalitatea
buton pentru a executa operaț iunea ș i a arăta rezultatul.
Acum vă vom arăta o instantanee ca rezultat al celor de mai sus
cod. Ș i da, poț i să-l implementezi pe sistemul tău pentru mai mult
înț elegere clară a aplicaț iei Calculator folosind Tkinter:
Rezumat:
În acest tutorial, am dezvoltat o aplicaț ie de Calculator de bază
folosind Tkinter ș i diverse widget-uri ale Tkinter despre care noi
am acoperit în tutorialul nostru Tkinter. Faceț i clic pe Următorul pentru a vedea
mai multe aplicaț ii dezvoltate folosind Tkinter, deoarece aceasta te va ajuta
ce ai învăț at.
PART 26: Text Editor
Aplicaț ie folosind Tkinter
(Proiect Python)
În acest tutorial, te vom ajuta să construieș ti un editor de text simplu
Aplicaț ie utilizând Tkinter, care este foarte bună pentru începători
proiect pentru Tkinter.
Text Editor Application is an application where you can write
your text, open any text file, you can edit any text file and you
poț i salva un fiș ier dacă doreș ti. În acest tutorial, vom construi un
Aplicaț ie de editor de text de la zero.
Elemente esenț iale pentru aplicaț ia de editor de texte sunt ca
urmează:

Există unWidget de butonapelatbtn_open care este folosit


pentru a deschide un fiș ier pentru editare

Al doilea este un widget Buton numitbtn_save pentru


salvarea unui fiș ier

În al treilea rând, există oWidget de textapelattxt_editpentru


crearea ș i editarea oricărui fiș ier text.
Aranjamentul celor trei widgeturi este realizat într-un mod astfel încât
cele două butoane sunt în partea stângă a feronizării, iar
caseta de text se află în partea dreaptă. Înălț imea minimă a
întreaga fereastră ar trebui să fie de 900 de pixeli ș i txt_edit ar trebui să aibă
o lăț ime minimă de 900 de pixeli. Ș i întregul layout ar trebui să
fii receptiv dacă fereastra este redimensionată, atunci txt_edit este redimensionat ca
ei bine. Lăț imea ramei care ț ine butoanele nu ar trebui să
schimbare.
Permiteț i-ne să vă arătăm cu un schiț oarecare cum funcț ionează acest editor de text
va arăta ca:
Aspectul dorit al aplicaț iei Text Editor poate fi
realizat folosind managerul de geometrie .grid(). Ș i acest aranjament
conț ine un singur rând ș i două coloane:

[Link] partea stângă, există o coloană îngustă pentru


butonii
2. Pe partea dreaptă, există o coloană mai largă pentru
casetă de text

Pentru a seta dimensiunile minime pentru fereastră ș i txt_edit,


trebuie doar să setezi parametrii minimi ai feroniei
metodele .rowconfigure() ș i .columnconfigure() la 900. În scopul de a
gestiona redimensionarea, parametrii de greutate ai acestor metode vor
fii setat la 1.
Dacă vrei ambele butoane în aceeaș i coloană atunci vei
trebuie să creez un widget de tip Frame numit fr_buttons. Conform
schiț a arătată mai sus, cele două butoane ar trebui să fie stivuite
vertical, în interiorul acestui cadru, având butonul_open deasupra. Acest lucru poate
făcut fie prin .grid(), fie prin managerul de geometrie .pack(). Pentru acum,
va trebui să rămâi cu .grid() deoarece este mai uș or de lucrat cu el
asta.
Să începem cu codul pentru construirea aplicaț iei:

1. Crearea tuturor widget-urilor necesare


Fragmentul de cod care este folosit este următorul:
importătkinterastk
fereastra = [Link]()
[Link]("Aplicatie Editor de Text")
[Link](0, dimensiune_minimă=900, greutate=1)
[Link](1, dimensiune_minimă=900, greutate=1)
txt_edit = [Link](window)
fr_buttons = [Link](window)
Deschide
btn_save = [Link](fr_buttons, text=“Save As…”)

Explicaț ia codului de mai sus:


Prima comandă este folosită pentru a importatkinter.
Apoi, următoarele două linii sunt folosite pentru a crea un nou
fereastră cu titlul „Aplicaț ie de editare text”.
Următoarele două linii de cod sunt folosite pentru a seta rândul
ș i configuraț iile coloanelor.
Apoi, liniile de la 9 la 12 vor crea cele patru
widget-uri de care vei avea nevoie pentru caseta de text, rama, ș i
butonul de deschidere ș i butonul de salvare.

fereastră.rowconfigure(0, minsize=900, greutate=1)


Linia de mai sus din cod indică
Parametrul minsize al .rowconfigure() este setat la 900 ș i greutatea este
setaț i to1. Primul argument este 0, care este folosit pentru a seta înălț imea.
a primei linii la 900 de pixeli ș i se asigură că înălț imea
rândul creș te proporț ional cu înălț imea feronerie.
Există doar un rând în layout-ul aplicaț iei, aș a că acestea
setările se aplică întregii feronier.
Apoi, aruncă o privire la această linie din cod:
fereastră.colonaconfigure(1, dimensiune minimă=900, greutate=1)
În codul de mai sus, .columnconfigure() pentru a seta
atributele lăț imii ș i greutăț ii ale coloanei cu
index1la900ș i1, respectiv. Ț ineț i cont că, rândul ș i
indiciile coloanelor sunt bazate pe zero, astfel încât aceste setări se aplică doar la
a doua coloană. Prin configurarea celei de-a doua coloane,
caseta de text se va extinde ș i se va contracta natural atunci când fereastra
este redimensionat, în timp ce coloana care conț ine butoanele va fi întotdeauna
rămâne la o lăț ime fixă.

[Link] aspectului aplicaț iei


btn_open.grid(row=0, column=0, sticky="ew", padx=5,
pady=5)
btn_save.grid(row=1, column=0, sticky="ew", padx=5)
Cele două linii de cod de mai sus vor crea o grilă cu două rânduri
ș i o coloană în cadrul butoanelor de cadrul deoarece atât btn_open cât ș i
btn_saveau atributul master setat la fr_buttons.btn_open este pus în
prima linie iar butonul_salvare va fi în a doua linie astfel încât
btn_openapare deasupra btn_save în layout, aș a cum a fost planificat în
schiț a de mai sus.

Btn_open ș i btn_save ambele au


atributele lor lipicioase setate pe “ew”, ceea ce forț ează
butonii pentru a se extinde orizontal în ambele direcț ii
ș i pentru a umple întregul cadru. Se asigură
ambele butoane sunt de aceeaș i dimensiune.
Puneț i 5 pixeli de margine în jurul fiecărui buton
doar prin setarea parametrilor padx ș i pady la 5.
Butonul_openare padding vertical. Deoarece este în partea de sus,
the vertical padding offsets the button down from the
susul feroneriei un pic ș i se asigură că există un
spaț iu mic între aceasta ș i btn_save.
Acum butoanele sunt aranjate ș i gata de utilizare, poț i doar să le setezi
începeț i layout-ul grilei pentru restul feronierului acum:
fr_buttons.grid(row=0, column=0, sticky=“ns”)
txt_edit.grid(row=0, column=1, sticky="nsew")
Aceste două linii de cod de mai sus sunt folosite pentru a crea o reț ea cu
o linie ș i două coloane pentru fereastră. Plasaț i butoanele fr în interiorul
prima coloană ș i txt_edit în a doua coloană aș a
butonul thatfr apare în stânga txt_edit în layout-ul ferestrei.
Parametrul sticky pentru butoanele fr va fi setat la "ns", ceea ce forț ează
întregul cadru să se extindă vertical ș i să umple întreaga înălț ime
a coloanei sale.txt_edit este folosit pentru a umple întreaga sa celulă de grilă deoarece
ai setat parametrul său sticky la "nsew", ceea ce îl forț ează să se extindă
în fiecare direcț ie.
Acum am creat doar butoanele, dar acestea nu funcț ionează
până când le adăugăm funcț ionalitate. Aș a că să începem să adăugăm
Funcț ionarea butoanelor:

1. Funcț ie pentru a deschide fiș ierul


Codul pentru open_file este următorul:
defopen_fisier():
„Deschide un fiș ier pentru editare.”
filepath = askopenfilename(
filetypes=[(“Text Files”,“*.txt”), (“All Files”,“*.*”)]
)
dacă nu există calea fiș ierului:

întoarce
txt_edit.delete(1.0, [Link])
cu open(filepath, "r") ca input_file:
text = input_file.read()
txt_edit.insert([Link], text)
[Link](f"Aplicaț ie Editor Text -{filepath}")

Explicaț ie:
Linile de la 3 la 5 folosescdialog de deschidere fiș ier
din modulul [Link] pentru a afiș a un fiș ier deschis
dialog ș i stocaț i calea fiș ierului selectat în tofilepath.
Linile 6 ș i 7 verifică dacă utilizatorul închide
cutia de dialog sau face clic pe butonul Anulare. Dacă da,
atunci calea va fi None, iar funcț ia
se va întoarce fără a executa niciunul dintre codurile pentru a citi
fiș ierul ș i setează textul lui txt_edit.
Linia 8 ș terge conț inutul curent altxt_edit_using
.ș terge().

Linile 9 ș i 10 sunt folosite pentru a deschide fiș ierul selectat


ș [Link]ș te()conț inutul său înainte de a stoca textul ca un
ș ir.
Linia numărul 11 atribuie ș irul de text la txt_edit folosind
.insera()

Linia 12 setează titlul ferestrei astfel încât să


conț ine calea fiș ierului deschis.

2. Funcț ia de salvare a fiș ierului


Codul pentru save_file este următorul:
defsave_file():
Salvează fiș ierul curent ca un fiș ier nou.
filepath = asksaveasfilename(
defaultextension=“txt”,
filetypes=[(“Text Files”,“*.txt”), (“All Files”,“*.*”)],
)
dacă nu există fiș ierul

returnaț i
with open(filepath, "w") as output_file:
text = txt_edit.get(1.0, [Link])
output_file.write(text)
[Link](f”Aplicaț ie de Editare a Textului -{filepath}”)

Explanation:
Liniile 3 până la 6 folosesccaseta de dialog pentru a salva un fiș ier cu numele
locaț ia de salvare dorită din partea utilizatorului. Locaț ia selectată
calea fiș ierului este stocată în variabila thefilepath.
Linile 7 ș i 8 verifică dacă utilizatorul închide
caseta de dialog sau face clic pe butonul Anulare. Dacă da,
atunci calea fiș ierului va fi None, iar funcț ia va returna
fără a executa niciunul dintre coduri pentru a salva textul în
un fiș ier.
Linia 9 creează un nou fiș ier la calea de fiș ier selectată.
Linia 10 extrage textul dintxt_editwith.get()
metoda ș i o atribuie variabilei text.
Linia 11 scrietextul în fiș ierul de ieș ire.
Linia 12 actualizează titlul feroneriei astfel încât
noua cale a fiș ierului este afiș ată în titlul ferestrei.

Codul sursă complet este:


importtkinterastk
de la [Link] importă askopenfilename,
salveazăfiindnume
defopen_file():
„Deschide un fiș ier pentru editare.”
filepath = askopenfilename(
filetypes=[(“Text Files”,“*.txt”), (“All Files”,“*.*”)]
)
dacă nu există cale de fiș ier:

returnează
txt_edit.sterge(1.0, [Link])
cu deschiderea(filepath, "r") ca input_file:

text = input_file.read()
txt_edit.insert([Link], text)
[Link](f"Aplicaț ie de Editare Text -{filepath}")
defsave_file():
Salvează fiș ierul curent ca un fiș ier nou.
filepath = asksaveasfilename(
defaultextension=“txt”,
filetypes=[(“Text Files”,“*.txt”), (“All Files”,“*.*”)],
)
dacă nu există calea fiș ierului:

întoarce
cu open(filepath, "w") ca output_file:
text = txt_edit.get(1.0, [Link])
output_file.write(text)
[Link](f"Aplicaț ie de Editare Text -{filepath}")
fereastra = [Link]()
[Link]("Aplicaț ie Editor Text")
[Link](0, dimensiune_minimă=800, greutate=1)
[Link](1, dimensiune_minimă=800, greutate=1)
txt_edit = [Link](window)
fr_buttons = [Link](window, relief=[Link], bd=2)
btn_open = [Link](fr_buttons, text=“Open”,
command=open_file)
btn_save = [Link](fr_buttons, text=“Save As…”,
command=save_file)
btn_open.grid(row=0, column=0, sticky="ew", padx=5,
pady=5)
btn_save.grid(row=1, column=0, sticky="ew", padx=5)
fr_buttons.grid(row=0, column=0, sticky=“ns”)
txt_edit.grid(row=0, column=1, sticky="nsew")
[Link]()
După cum puteț i vedea în ieș ire, avem un editor de text de bază
aplicaț ie în care putem scrie ceva ș i apoi salva
textul într-un nou fiș ier sau foloseș te butonul Deschidere pentru a deschide un fiș ier în

editorul ș i apoi editează-l.


PARTEA 27: Player de Muzică
Aplicaț ie folosind Tkinter
(Proiect Python)
În acest tutorial, vom crea o aplicaț ie de redare muzicală în
Python utilizând modulul Tkinter ș i Pygame.
În viaț a noastră de zi cu zi, vedem că fiecare persoană are un hobby ș i acesta este
ascultând muzică. Aș adar, pentru a asculta muzică, toț i au nevoie de
un player muzical (hardware sau software) unde pot reda
melodiile lor preferate. Ș i trebuie să instalăm acest player muzical.
pe computerul nostru, bazat pe sistema de operare, adică Windows,
Macintosh, Android, Linux, etc. Apoi putem asculta la
cântece preferate.
Acum te vom ajuta să codezi ș i să creezi un Player de Muzică din
zgâriere.
Biblioteci utilizate pentru playerul de muzică
Aplicaț ie:
Acum vă vom vorbi despre bibliotecile pe care le vom folosi în
cod :

Tkinter
V-am spus deja în titlul acestei pagini că suntem
o să folosesc biblioteca Tkinter, care este o bibliotecă standard pentru
Crearea GUI. Biblioteca Tkinter este cea mai populară ș i foarte
uș or de utilizat ș i vine cu multe widgeturi (aceste widgeturi
ajutor în crearea de aplicaț ii GUI cu aspect plăcut).
De asemenea, Tkinter este un modul foarte uș or ș i este util în
crearea de aplicaț ii multiplatformă (deci acelaș i cod poate
lucrează uș or pe Windows, macOS ș i Linux
To use all the functions of Tkinter you need to import it in
codul tău ș i comanda pentru acelaș i lucru este:
de la tkinter import*

2. Modul Pygame
Pygame este un modul Python care lucrează cu computere
biblioteci grafice ș i sonore ș i este conceput cu puterea de
jucându-se cu diferite formate multimedia, cum ar fi audio, video,
etc. În timp ce creăm aplicaț ia noastră Music Player, vom fi
utilizând modulul [Link] al Pygame pentru a oferi diferite
funcț ionalitate pentru aplicaț ia noastră de redare muzicală care este de obicei
legat de manipularea pieselor muzicale.
Comanda folosită pentru a instala modulul thepygame este:

pip install pygame

Pentru a folosi acest modul în codul tău, trebuie să scrii


asta:
import pygame

3. Modul OS
Nu este nevoie să instalaț i acest modul în mod explicit, deoarece vine
cu biblioteca standard a Python. Acest modul furnizează
funcț ii diferite pentru interacț iunea cu sistemul de operare.
În acest tutorial, vom folosi modulul OS
pentru a obț ine lista de melodii din specificat
director ș i să-l facă disponibil pentru player-ul de muzică
aplicaț ie.
Pentru a folosi acest modul în codul tău, trebuie să-l imporț i ș i
comanda pentru aceea este următoarea:
importaOS

După importarea bibliotecilor ș i modulelor, acum este timpul să


creaț i o fereastră de bază în care vom adăuga elementele noastre UI
widget-uri Tkinter. Puteț i adăuga acest cod fie după
importarea bibliotecilor sau la sfârș it, chiar înainte de buclă
fereastra principală ș i codul este următorul:
root = Tk()# Pentru a crea o fereastră goală
# Trecerea rădăcinii la clasa MusicPlayer
MusicPlayer(rădăcină)

Clasa MusicPlayer
Aici avem constructorul ș i celelalte funcț ii definite
în clasa MusicPlayer.

1._init_Constructor
Cu ajutorul acestui constructor, vom seta titlul pentru
fereastra ș i geometria pentru fereastră. Vom iniț ia
pygame ș i pygame mixer ș i apoi declară pista
variabilă ș i variabilă de stare.

Vom crea apoi Cadrele de Traseu pentru Cântec


eticheta&status etichetaș i apoi după Inserează Melodia
Eticheta de urmă ș i Eticheta de stare.

After that, we will create theButton


Cadru ș i inseraț i redare, pauză, reluare ș i oprire
butonel în el.
Apoi vom crea cadrul listei de redare ș i vom adăuga
bara de derulare la ea ș i vom adăuga melodii în
listă de redare.
Fragmentul de cod este următorul:
def__init__(self,root):
[Link] = root
Titlul feronetei
[Link](“MusicPlayer”)
# Geometria Feronerie
[Link]("1000x200+200+200")
# Iniț ierea Pygame
[Link]()
# Iniț iere Mixer Pygame
[Link]()
# Declararea trackVariable
[Link] = StringVar()
Declararea StatusVariable
[Link] = StringVar()
Crearea cadrelor pentru melodii ș i eticheta de stare
trackframe = LabelFrame([Link],text=“Song
Pista", font=("times new
roman",15,"bold"),bg="Navyblue",fg="white",bd=5,relief=G
ROOVE)
[Link]ă(x=0,y=0,lăț ime=600,înălț ime=100)
Inserarea Etichetei Pistei Muzicale

songtrack =
Eticheta(trackframe,textvariable=[Link],width=20,font=
("timpi noi
roman”,24,“bold”),bg=“Portocaliu”,fg=“aur”).grid(row=0,colu
mn=0,padx=10,pady=5
Introducerea etichetei de stare

trackstatus =
Eticheta(cadru_traseu,textvariabil=[Link],font=("times new
roman”,24,“îndrăzneț ”),bg=“portocalie”,fg=“aurie”).grid(row=0,colum
n=1,padx=10,pady=5)
Crearea cadrului pentru buton
buttonframe = LabelFrame([Link],text=“Control
Panou", font=("times new
romană
VE)
[Link]ă(x=0,y=100, lăț ime=600, înălț ime=100)
# Inserarea Butonului de Redare

playbtn =
Buton(butoncadru,text="REDĂCÂNTECUL",comandă=de_sin([Link]
ong,width=10,height=1,font=(“times new
roman",16,"bold"),fg="navyblue",bg="pink").grid(row=0,col
umn=0,padx=10,pady=5
Inserarea butonului de pauză
playbtn =
Buton(butoncadru,text=“PUNE PE PAUZĂ”,comandă=[Link],
lăț ime=8, înălț ime=1, font=(“times new
roman”,16,“bold”),fg=“navyblue”,bg=“pink”).grid(row=0,col
umn=1,padx=10,pady=5)
Inserarea butonului de reluare
playbtn =
Button(buttonframe,text=“UNPAUSE”,command=[Link]
esong,lăț ime=10,înălț ime=1,font=("times new
roman",16,"bold"),fg=„navyblue”,bg=„pink”).grid(row=0,col
umn=2,padx=10,pady=5)
Inserarea butonului de oprire

playbtn =
Button(buttonframe,text=“STOPSONG”,command=[Link]
ong,lăț ime=10,înălț ime=1,tipar=("times new
roman",16,"bold"),fg="navyblue",bg="pink").grid(row=0,col
umn=3,padx=10,pady=5
# Crearea Cadrelor de Playlist
songsframe = LabelFrame([Link],text=“Song
Playlist
roman",15,"bold"),bg="gri",fg="alb",bd=5,relief=GROO
VE)
[Link](x=600,y=0,width=400,height=200)
Inserarea barei de derulare
scrol_y = BaraDeDerulare(songsframe, orientare=VERTICAL)

Inserarea listei de redare


[Link] =
Listbox(cadru_piesa,yscrollcommand=scrol_y.set,selectbackgr
sunet="aur",mod_selectare=SINGUR,font=("times new
roman”,12,“bold”),bg=“silver”,fg=“navyblue”,bd=5,relief=GR
OOVE)
Aplicarea barei de defilare la listă
scrol_y.pack(side=DREAPTA, fill=Y)
scrol_y.config(command=[Link])
[Link](fill=BOTH)
Schimbarea directorului pentru obț inerea melodiilor

[Link]("CĂTRE/DIRECTOR")
# Obț inerea melodiilor

songtracks = [Link]()
Introducerea Melodiilor în Playlist
pentru urmărit piese de muzică:

[Link](END, track)
În codul de mai sus, schimbaț i PATH/OF/DIRECTORY cu
o cale adecvată unde sunt stocate fiș ierele melodiei.

Funcț ia playsong()
Acum vom defini funcț ia Reda Cântecul ș i codul este:
defplaysong(self):
Afiș area titlului melodiei selectate
[Link]([Link](ACTIVE))
Afisarea stării
[Link]("-Jucând")
Încărcarea melodiei selectate
[Link]([Link](ACTIVE))
Redarea melodiei selectate
[Link]()

3. Funcț ia thestopsong()
Fragmentul de cod pentru a opri melodia:
defstopsong(this):
Afiș area stării
[Link](„-Oprit”)
Cântec oprit
[Link]ș te()

4. Funcț ia thepausesong()
Codul pentru a pune melodie pe pauză:
defpausesong(self):
Afiș area stării
[Link](“-Pausat”)
Piesa Pauzată
[Link]ă()

5. Funcț ia Theunpausesong()
Fragmentul de cod pentru a reporni melodia:
defunpausesong(self):
Acesta va afiș a starea
[Link]("-Jucând")
Redarea melodiei
[Link]()
6. Bucla Ferestrei Rădăcină
The command will be:
[Link]()
Acum aici sunt câteva capturi de ecran ale aplicaț iei noastre:
Dosarul numit studytonight unde se află fiș ierul de cod ș i dosarul
pentru melodii este plasat astfel:

Vrem să furnizăm calea folderului cu melodii în codul nostru unde


toate melodiile sunt aranjate pentru a fi accesibile.
Acum, captura de ecran următoare este pentru a vă arăta cum
aplicaț ia va arăta astfel:

de fiecare dată când dai clic pe melodie, va arăta aș a:

La clic pe butonul PLAYSONG:

La apăsarea butonului PAUZA:


On clicking theSTOP Button:

Aș adar, aceasta a fost totul despre construirea aplicaț iei de redare muzicală
folosind Tkinter. Sper că vă place această aplicaț ie. Vă rog să împărtăș iț i
mai multe idei cu noi pentru aplicaț ii desktop bazate pe Tkinter ș i
cu siguranț ă vom adăuga mai multe proiecte Tkinter la Tkinter-ul nostru
tutorial.
PARTEA 28: Distrugător de Cărămizi

Joc folosind Tkinter (Python)


Proiect)
Este timpul să codificăm un joc în Python. Vom începe cu un simplu
Joc de distrugere a cărămizilor în care există o minge care ricoș ează de o
o platformă pentru a sparge un zid de cărămidă, iar jucătorul trebuie să menț ină
mingea trecând prin a te asigura că paleta este întotdeauna acolo pentru a riposta
din spatele mingii.
Jocul va avea trei straturi de cărămizi, iar fiecare strat de
cărămidă va avea o capacitate de impact diferită, ceea ce înseamnă că unele
cărămizile se vor sparge dintr-o lovitură, unele vor necesita o dublă
lovit ș i unii vor necesita trei lovituri.

Pentru a simplifica logica ș i interfaț a utilizatorului jocului,


următoarele sunt tipurile de cărămida:
Cărămidă verde: Necesită trei lovituri pentru a fi spartă
Cărămizi roz: Necesită două lovituri pentru a fi distruse

Cărămizile violete: Necesită trei lovituri pentru a fi distruse

Prerequisites:
Pentru a înț elege codul pentru a construi jocul brick breaker în
Python, ar trebui să cunoș ti următoarele concepte:

Creează clasă în Python


Constructor pentru Clasă în Python
Moș tenirea în Python
Modificatori de acces în Python
__name__ ca metoda principală în Python

În afară de asta, înț elegerea generală a Python este


necesar, pe care îl poț i obț ine ș i din seria noastră de tutoriale GRATUITE
laÎnvăț aț i Python.

Cod pentru Jocul Brick Breaker


Vom crea 5 clase în cod, numele acestora
Clasele sunt:

1. Obiect de joc
2. Minge
3. Rame
Cărămidă
5. Joc
Toate aceste clase vor avea metode pentru a efectua diverse
gestionarea ș i operaț iunile asupra elementului de joc respectiv.
Hai să vedem codul pentru fiecare clasă.

Clasa GameObject
Această clasă este clasa părinte a tuturor celorlalte clase, care
înseamnă că toate celelalte clase vor moș teni această clasă.
Codul pentru această clasă este următorul:
class ObiectDeJoc(object):
def__init__(self, canvas, item):
[Link] = canvas
[Link] = item
def obtine_pozitia(self):
[Link]([Link])
defmove(self, x, y):
[Link]([Link], x, y)
defș terge(self):
[Link]([Link])
Această clasă are funcț ii pentru a gestiona ciclul de viaț ă de bază al
obiecte diferite care formează jocul.

Clasa Minge
Iată codul pentru clasa Minge:
clasaMinge(JocObiect):
def__init__(self, canvas, x, y):
[Link] =10
[Link] = [1, -1]
# creș te valoarea de mai jos pentru a creș te viteza mingii
[Link] =5
item = canvas.create_oval([Link], [Link],
x+[Link], y+[Link],
umple='alb')
super(Ball, self).__init__(canvas, item)
defupdate(self):
coords = self.get_position()
latime = [Link].winfo_width()
dacă coordonatele[0] <= 0 sau coordonatele[2] >= lăț ime:
[Link][0] *= -1
dacă coords[1] <= 0:
[Link][1] *= -1
x = [Link][0] * [Link]
y = [Link]ț ia[1] * [Link]ă
[Link](x, y)
defcolide(self, obiecte_de_joacă):
coords = self.get_position()
x = (coords[0] + coords[2]) * 0.5
dacă len(game_objects) >1:
[Link][1] *= -1
eliflen(game_objects) ==1:
game_object = game_objects[0]
coords = game_object.get_position()
dacă x > coords[2]:
[Link][0] =1
elifx < coords[0]:
[Link][0] = -1
altfel:
[Link][1] *= -1
forgame_objectingame_objects:
dacă esteinstanț ă(ojiect_de_joc, Cărămidă):

game_object.străpunge()
În clasa Ball, metoda collide() este folosită pentru a gestiona
coliziune ș i este folosit în funcț ia check_collisions() a
Clasa jocului. În timp ce funcț ia update() este pentru a reseta Mingea
obiectul după ce o viaț ă este pierdută ș i jocul începe din nou.

Clasă de canotaj
Iată codul pentru clasa Paddle:
clasaPaddle(GameObject):
def__init__(self, canvas, x, y):
setează forma ș i poziț ia paletei
[Link] =80
[Link] =10
[Link] =None
item = canvas.create_rectangle(x - [Link] / 2,
y - [Link] /2,
x + [Link] /2,
y + [Link] / 2,
fill='#FFB643')
super(Paddle, self).__init__(canvas, item)
defset_ball(self, minge):
[Link] = ball
defmove(self, offset):
coords = self.get_position()
latime = [Link].winfo_width()
dacă ifcoords[0] + offset >=0 ș i coords[2] + offset <=
width:
super(Paddle, self).move(offset, 0)
dacă [Link] nu este None:

[Link](offset,0)
În afară de constructor, metoda themove() din această clasă este
important deoarece permite miș carea pentru paletă.
Clasa de Cărămidă
Iată codul pentru clasa Brick:
clasăCărămidă(GameObject):
COLORS = {1:‘#4535AA’,2:‘#ED639E’,3:‘#8FE1A2’}
def__init__(self, canvas, x, y, hits):
[Link] =75
[Link] =20
[Link] = hits
color = [Link][hits]
element = canvas.create_rectangle(x - [Link] /2,
y - [Link] /2,
x + [Link] /2,
y + [Link] /2,
fill=color, tags=‘brick’)
super(Brick, self).__init__(canvas, item)
defhit(self):
[Link] -=1
[Link] ==0:
[Link]()
altfel:
[Link]([Link],
fill=[Link][[Link]]
Începem definiț ia clasei prin stabilirea culorilor pentru
diferite tipuri de cărămizi. Apoi, în constructor, dimensiunea ș i
poziț ia cărămizilor este definită. Ș i apoi există
funcț ia thehit() care gestionează dacă cărămida va dispărea
sau va suporta lovitura ș i se va schimba de culoare pentru a primi următoarea lovitură.

Game Class
Aceasta este clasa principală care controlează totul. Aici este
code:
clasa Joc([Link]):
def__init__(self, master):
super(Game, self).__init__(master)
[Link] =3
[Link] =610
[Link] =400
[Link] = [Link](self, bg=‘#D6D1F5’,
latime=[Link],
înălț imea=[Link],
[Link]()
[Link]()
[Link] = {}
[Link] =None
[Link] = Paddle([Link], [Link]/2,326)
[Link][[Link]] = [Link]
# adăugarea cărămizilor cu capacităț i de lovire diferite - 3, 2 ș i 1
pentru x în interval(5, [Link] - 5, 75):

self.add_brick(x +37.5,50,3)
[Link]ă_cărămidă(x +37.5,70,2)
self.add_brick(x +37.5,90,1)
[Link] =None
self.setup_game()
[Link].set_focus()
[Link]('<Stânga>',
lambda_: [Link](-10))
[Link]('<Right>',
lambda_: [Link](10)
definiț i jocul
self.adauga_minge()
self.update_lives_text()
[Link] = self.draw_text(300,200,
Apăsaț i Space pentru a începe

[Link]('<space>',lambda_:
self.start_game())
adauga_minge(self):
[Link] nu este None:
[Link]()
paddle_coords = [Link].get_position()
x = (coord_paddle[0] + coord_paddle[2]) * 0.5
[Link] = Ball([Link], x,310)
[Link].set_ball([Link])
def adauga_cărămidă(self, x, y, lovituri):

brick = Brick([Link], x, y, hits)


[Link][[Link]] = brick
def desenează_text(self, x, y, text, dimensiune='40'):

font = ('Forte', dimensiune)

[Link].create_text(x, y, text=text,
font=font)
def actualizează_texte_vieț i(self):

Vieț i: %s
[Link]:
[Link] = self.draw_text(50,20, text,15)
altfel:
[Link]([Link], text=text)
defstart_game(self):
[Link]ă(‘<spaț iu>’)
[Link]([Link])
[Link] =None
self.game_loop()
defgame_loop(self):
self.verifica_coliziunile()
num_bricks =len([Link].find_withtag(‘brick’))
ifnum_bricks ==0:
[Link] =None
îț i câș tigi! Eș ti Spargătorul
Cărămizi.’)
elif [Link].get_position()[3] >= [Link]:
[Link] =None
[Link]ț i -= 1
dacă [Link] < 0:
îț i pierzi! Joc încheiat!
altfel:
[Link](1000, self.setup_game)
altfel:
[Link]()
[Link](50, self.game_loop)
defcheck_coliziunile(self):
ball_coords = [Link].get_position()
items = [Link].find_overlapping(*ball_coords)
obiecte = [[Link][x] pentru x în items dacă x în [Link]]

[Link]ă(obiecte)
În această clasă, avem următoarele:

1. Definim numărul de vieț i, culorile de fundal


al jocului ș i alte stiluri ale ferestrei jocului.
2. Configurarea jocului este realizată de această clasă.

3. Adăugând cărămizile, adăugând paleta, mingea ș i textul este


realizat de această clasă.

4. Gestionarea vieț ilor este responsabilitatea acestei clase.


5. Începerea jocului ș i rularea buclei de joc este de asemenea
terminat în această clasă.

Cod complet pentru Brick Breaker


Game:
Iată codul complet pentru joc.
importtkinterastk
clasaObiectDeJoc(object):
def__init__(self, canvas, item):
[Link] = canvas
[Link] = item
def obtine_pozitia(self):
[Link]([Link])
defmută(self, x, y):
[Link]([Link], x, y)
defș terge(self):
[Link] ș terge([Link])
clasă Minge(ObiectJoc):
def__init__(self, canvas, x, y):
[Link] =10
[Link] = [1, -1]
# creș te valoarea de mai sus pentru a creș te viteza mingii
[Link] =5
item = canvas.create_oval([Link], [Link],
x+[Link], y+[Link],
umple='alb')
super(Ball, self).__init__(canvas, item)
defupdate(self):
coords = self.get_position()
lăț ime = [Link].winfo_width()
dacă coords[0] <= 0 sau coords[2] >= lăț ime:

[Link][0] *= -1
dacă coords[1] <= 0:
[Link]ț ia[1] *= -1
x = [Link]ț ia[0] * [Link]ă
y = [Link]ț ia[1] * [Link]ă
[Link](x, y)
defcoliziune(self, obiecte_de_joc):
coords = self.get_position()
x = (coords[0] + coords[2]) * 0.5
dacă len(game_objects) > 1:
[Link][1] *= -1
eliflen(game_objects) ==1:
game_object = game_objects[0]
coords = game_object.get_position()
dacă fx > coords[2]:
[Link][0] =1
elifx < coords[0]:
[Link][0] = -1
altfel:
[Link][1] *= -1
forgame_objectingame_objects:
dacă esteinstanț ă(game_object, Cărămidă):

game_object.hit()
clasaPaddle(GameObject):
def__init__(self, canvas, x, y):
[Link] =80
[Link] =10
[Link] = None
item = canvas.create_rectangle(x - [Link] /2,
y - [Link] / 2,
x + [Link] /2,
y + [Link] /2,
fill=‘#FFB643’
super(Paddle, self).__init__(canvas, item)
defset_ball(self, minge):
[Link] = minge
defmove(self, offset):
coords = self.get_position()
latime = [Link].winfo_width()
ifcoords[0] + offset >=0si coords[2] + offset <=
lăț ime:
super(Paddle, self).move(offset, 0)
[Link] notNone:
[Link](offset, 0)
clasă Brick(GameObject):
COLORS = {1:‘#4535AA’,2:‘#ED639E’,3:‘#8FE1A2’}
def__init__(self, canvas, x, y, hits):
[Link] =75
[Link] =20
[Link] = hits
color = [Link][hits]
item = canvas.create_rectangle(x - [Link] /2,
y - [Link] /2,
x + [Link] /2,
y + [Link] /2,
umple=color, etichete='cărămidă')

super(Brick, self).__init__(canvas, item)


defhit(self):
[Link] -= 1
[Link] ==0:
[Link]()
altfel:
[Link]([Link],
umple=[Link][[Link]]
clasaJoc([Link]):
def__init__(self, master):
super(Game, self).__init__(master)
[Link] =3
[Link] =610
[Link] =400
[Link] = [Link](self, bg='#D6D1F5',
width=[Link],
înălț ime=[Link],
[Link]()
[Link]()
[Link] = {}
[Link] =None
[Link] = Paddle([Link], [Link]/2, 326)
[Link][[Link]] = [Link]
# adăugarea de cărămizi cu capacităț i de lovire diferite - 3, 2 ș i 1
pentru x în interval(5, [Link] - 5, 75):
self.add_brick(x +37.5,50,3)
self.add_brick(x +37.5,70,2)
self.add_brick(x +37.5,90,1)
[Link] =None
self.setup_game()
[Link].seta_focus()
[Link]('←',
lambda_: [Link](-10))
[Link]('<Dreapta>',
lambda_: [Link](10)
defsetup_game(self):
[Link]ă_minge()
self.update_lives_text()
[Link] = self.draw_text(300,200,
Apăsaț i Spaț iu pentru a începe

[Link]('<space>',lambda_:
self.start_game())
defadaugă_minge(self):
[Link] notNone:
[Link]()
paddle_coords = [Link].get_position()
x = (coord_paddle[0] + coord_paddle[2]) * 0.5
[Link] = Ball([Link], x,310)
[Link].set_ball([Link])
defadaugă_brichetă(self, x, y, lovituri):

brick = Brick([Link], x, y, hits)


[Link][[Link]] = brick
def desenează_text(self, x, y, text, dimensiune='40'):
font = ('Forte', dimensiune)

[Link].create_text(x, y, text=text,
font=font)
defactualizati_textul_vietilor(self):

Vieț i: %s
[Link]:
[Link] = self.draw_text(50,20, text,15)
altfel:
[Link]([Link], text=text)
defineste_joc(self):
[Link]ă(‘<space>’)
[Link]([Link])
[Link] =None
self.game_loop()
defbucla_joc(self):
self.verifica_coliziunile()
num_bricks =len([Link].find_withtag(‘brick’))
ifnum_bricks ==0:
[Link] = None
Îț i câș tigi! Eș ti Distrugătorul
Cărămizi.
[Link].get_position()[3] >= [Link]:
[Link] =None
[Link] -=1
dacă [Link] < 0:
Îț i pierzi! Jocul s-a terminat!
altfel:
[Link](1000, self.setup_game)
altfel:
[Link]()
[Link](50, self.game_loop)
defcheck_coliziuni(self):
ball_coords = [Link].get_position()
items = [Link].find_overlapping(*ball_coords)
obiecte = [[Link][x] pentru x in items dacă x în [Link]]

[Link]ã(obiecte)
if__name__ ==‘__main__’:
root = [Link]()
[Link](‘Break those Bricks!’)
game = Game(root)
[Link]()
Pentru a rula jocul, trebuie să aveț i modulul Tkinter instalat.
Salvează codul dat mai sus într-un fiș ier cu un nume, haideț i să
[Link]. Apoi, pentru a rula codul, executa
comanda următoare:
python [Link]
Interfaț a de utilizare a jocului Brick Breaker
Iată câteva instantanee despre cum arată jocul.
Când jucătorul câș tigă jocul:
Când jucătorul pierde jocul:

Ș i cu asta, acest tutorial se încheie. Sper că jocul funcț ionează bine pentru
îț i recomandăm să editezi ș i să personalizezi codul pentru
îmbunătăț eș te jocul. Încearcă să adaugi mai multe caracteristici jocului.
PART 29: Calculator
Aplicaț ie folosind Python
Limbă
Calculatorul este o aplicaț ie pe care o folosim cu toț ii în viaț a de zi cu zi.
astăzi. Dacă încerci să te murdăreș ti cu
programarea în python, Calculatorul este un proces simplu ș i
un proiect util în acelaș i timp. Astăzi, vom dezvolta
Un calculator Python folosind Tkinter, uș or de urmărit
instrucț iuni.
Iată cum va apărea calculatorul nostru, care este creat folosind
câmpul de introducere, butoanele ș i logica definite în funcț ii pentru
scopuri de calcul. De exemplu, dacă doriț i să adăugaț i două
numere, trebuie să existe o logică pentru adunare, similar pentru
scădere, înmulț ire ș i aș a mai departe, am creat
funcț ii al căror scop este de a efectua aceste operaț ii.
Avem un câmp de introducere unde va fi afiș ată introducerea utilizatorului
împreună cu rezultatul final al calculelor.
Butonul sunt numerotate 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, *, /, =
ș i C. (buton de ș tergere)

Ce este un calculator?
Pentru cei care nu sunt familiarizaț i, un calculator este o aplicaț ie de computer
care imită comportamentul oricărui calculator portabil folosit pentru
finalizarea calculelor matematice. Este o activitate foarte simplă
un element pe care îl folosim zilnic. O aplicaț ie de calculator este
acum disponibil pe toate telefoanele mobile.

Există în principal două procese implicate în dezvoltarea oricărui


Aplicaț ie GUI:
Crearea unei interfeț e utilizator este etapa iniț ială.
A doua ș i cea mai crucială etapă este de a oferi
funcț ionalitate pentru interfaț a grafică cu utilizatorul.

Să începem prin a crea o aplicaț ie simplă de calculator în Python


utilizând Tkinter pentru calcule aritmetice de bază.

Cod sursă pentru calculator


Aplicaț ie
Acum este timpul să ne uităm la codul pentru a crea un Tkinter
Calculator App:
de la tkinter import *
win = Tk()# Acesta este pentru a crea o fereastră de bază

[Link]("312x324")# acesta este pentru dimensiunea feroniei


[Link](0,0)# acesta este pentru a preveni redimensionarea
fereastră
[Link](“Calculator”)
###################Începând cu funcț iile
####################
'funcț ia btn_click':
Această funcț ie se actualizează continuu
câmp de intrare ori de câte ori introduci un număr

defbtn_click(item):
expresiune globală
expression = expression + str(item)
input_text.set(expresie)
# ‘bt_clear’ funcț ie :Aceasta este folosită pentru a ș terge

câmpul de input
defbt_clear():
expresieglobală
expression =””
input_text.set(””)
# ‘bt_equal’:This method calculates the expression
# prezent în câmpul de input
defbt_equal():
expresie globală
result =str(eval(expression))# ‘eval’:This function is used
pentru a evalua expresia de ș ir direct
input_text.set(result)
expression =””
expression =””
'StringVar()': Se foloseș te pentru a obț ine instanț a câmpului de introducere

input_text = StringVar()
Să creăm un cadru pentru câmpul de intrare
input_frame = Frame(win, lăț ime=312, înălț ime=50, bd=0,
highlightbackground=“black”, highlightcolor=“black”,
highlightthickness=2)
input_frame.pack(latura= SUS)
Să creăm un câmp de input în interiorul 'Frame'-ului
input_field = Entry(input_frame, font=('arial',18,'bold'),
textvariable=input_text, width=50, bg=“#eee”, bd=0,
justify=RIGHT)
input_field.grid(row=0, column=0)
input_field.pack(ipady=10)# 'ipady' este umplutura interna pentru
creș te înălț imea câmpului de introducere
Să creăm un alt 'Cadru' pentru butonul de mai jos
cadru_de_intrare
btns_frame = Frame(win, width=312, height=272.5,
bg=“grey”)
btns_frame.pune()
prima linie
clear = Button(btns_frame, text =“C”, fg =“black”, width =
32, înălț ime =3, bd =0, bg ="#eee", cursor ="hand2"
comandă =lambda: bt_clear()).grid(rând =0, coloană =0,
columnspan =3, padx =1, pady =1)
divide = Button(btns_frame, text =“/”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: btn_click(“/”)).grid(row =0, column =3,
padx =1, pady =1)
rândul doi
seven = Button(btns_frame, text =“7”, fg =“black”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă =lambda: btn_click(7)).grid(row =1, column =0,
padx =1, pady =1)
opt = Buton(btns_frame, text =“8”, fg =“negru”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă =lambda: btn_click(8)).grid(rând =1, coloană =1,
padx =1, pady =1
nine = Button(btns_frame, text =“9”, fg =“black”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
command =lambda: btn_click(9)).grid(row =1, column =2,
padx =1, pady =1)
multiply = Button(btns_frame, text =“*”, fg =“black”, width
=10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
comandă = lambda: btn_click("*")).grid(row = 1, column = 3,
padx =1, pady =1)
rândul trei
four = Button(btns_frame, text =“4”, fg =“black”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă =lambda: btn_click(4)).grid(linie =2, coloană =0,
padx =1, pady =1)
five = Button(btns_frame, text =“5”, fg =“black”, width =10,
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(5)).grid(row =2, column =1, padx =1,
pady =1)
six = Button(btns_frame, text =“6”, fg =“black”, width =10,
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(6)).grid(row =2, column =2, padx =1,
pady = 1)
minus = Button(btns_frame, text =“-”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: btn_click(“-”)).grid(row =2, column =3,
padx =1, pady =1)
a patra linie
one = Button(btns_frame, text =“1”, fg =“black”, width =10,
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(1)).grid(row =3, column =0, padx =1,
pady =1)
doi = Buton(btns_frame, text ="2", fg ="negru", width =10,
height =3, bd =0, bg =“#fff”, cursor =“hand2”, command =
lambda: btn_click(2)).grid(row =3, column =1, padx =1,
pady =1)
trei = Button(btns_frame, text = “3”, fg = “negru”, width =
10, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă = lambda: btn_click(3)). grid(row = 3, coloană = 2,
padx =1, pady =1)
plus = Buton(btns_frame, text = "+", fg = "negru", width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
comandă =lambda: btn_click("+")).grid(row =3, column =
3, padx =1, pady =1)
a patra linie
zero = Button(btns_frame, text =“0”, fg =“black”, width =
21, height =3, bd =0, bg =“#fff”, cursor =“hand2”,
comandă = lambda: btn_click(0)).grid(linie = 4, coloană = 0,
columnspan =2, padx =1, pady =1
point = Button(btns_frame, text =“.”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
comandă = lambda: btn_click(".")).grilă(rând = 4, coloană = 2,
padx =1, pady =1)
equals = Button(btns_frame, text =“=”, fg =“black”, width =
10, height =3, bd =0, bg =“#eee”, cursor =“hand2”,
command =lambda: bt_equal()).grid(row =4, column =3,
padx =1, pady =1)
[Link]()
Tkinter are o serie de metode care îl fac simplu ș i
rapid de a crea un calculator de bază cu doar câteva linii de cod.
Am definit următoarele funcț ii în codul nostru, în plus
la widget-urile Tkinter:
Funcț ia btn click(): Această funcț ie adaugă diverse
buton numeric pentru operaț ie prin gestionarea butonului
clicuri.
Metoda bt clear() este folosită pentru a gestiona ș tergerea
acț iune în aplicaț ia Calculator, care curăț ă
input anterior.
Butonul de egalitate este gestionat de funcț ia bt equal(), care
execută acț iunea ș i afiș ează rezultatul.
Now we’ll show you a screenshot of the aforementioned
rezultatul codului. Da, poț i să-l foloseș ti pe maș ina ta pentru a avea o
cunoș tinț e mai bune despre aplicaț ia Calculator folosind Tkinter:

Output:
Summary:
În acest articol, am folosit Tkinter ș i mai multe widget-uri Tkinter pentru
create a simpleCalculatorapplication, which we covered in
Tutorialul nostru Tkinter.
PARTEA 30: Ceas deș teptător
Folosind limbajul Python
Ceasul de alarmă folosind Python este un proiect construit în Python
limbaj de programare, Scopul acestui PythonAlarm
ClockTutorial este să creeze o interfaț ă grafică de utilizator pentru un ceas de alarmă în Python.

Un script Python pentru ceas de alarmă include biblioteci esenț iale cum ar fi
asDateTime ș i Tkinter, care ne ajută în construirea
proiecte care utilizează data ș i ora curentă. De asemenea, acestea oferă o
interfaț ă utilizator pentru a seta alarma conform cerinț elor într-un 24-
format de oră. Pentru a începe dezvoltarea acestui proiect principal, Alarmă
Ceas folosind Python, asiguraț i-vă că aveț i Pycharm
IDE instalat pe computerul tău.

Steps on How to Make An Alarm


Ceas folosind Python.
Ceas de alarmă folosind Python cu sursă
Cod
Pasul 1: Creează un nume de proiect.
În primul rând, deschide IDE-ul Pycharm ș i apoi creează un "nume de proiect".
după ce aț i generat un nume de proiect, faceț i clic pe butonul „creaț i”.
Pasul 2: Creaț i un fiș ier python.
În al doilea rând, după ce aț i stabilit un nume pentru proiect, faceț i clic dreapta pe.
numele proiectului ș i apoi alege „nou” după aceea, dă clic pe
fiș ier python
Pasul 3: Denumiț i fiș ierul dvs. python.
În al treilea rând, după ce aț i generat un fiș ier python, denumiț i fiș ierul dvs. python;
apelati „introduceț i“.

Pasul 4: Codul efectiv.


Puteț i folosi codul furnizat mai jos ș i descărcaț i întregul
codul sursă de mai jos.
Cod pentru importarea modulelor
fromtkinterimport*
importdatetime
importaț i timp

importwinsound
În timp ce codul următor importă fiecare modul care este
apelat în rularea aplicaț iei.

Cod pentru modulul Timp Actual


defactual_time():
set_alarm_timer =f”{[Link]()}:{[Link]()}:{[Link]()}”
alarma(set_alarm_timer)
Acest modul este timpul real sau timpul curent care este apelat
în timp ce setam alarma.

Cod pentru modul de setare a


Alarmă
defalarm():
# Infinite Loop
în timp ce adevărat

# Set Alarm
set_alarm =f”{[Link]()}:{[Link]()}:
{[Link]()}
Aș teptaț i o secundă
[Link](1)
Obț ine ora curentă
current_time =
[Link]().strftime("%H:%M:%S")
Verificaț i dacă alarma setată este egală cu timpul curent sau nu
dacă_timpul_curent == setează_alarmă:
Timpul să ne trezim
Redarea sunetului
[Link]("[Link]",winsound.SND_A
SYNC)
În acest modul se efectuează configurarea alarmei.

Cod pentru GUI


clock = Tk()
[Link](“DataFlair Alarm Clock”)
[Link](„400x200”)
time_format=Label(clock, text=“Enter time in 24 hour
format!
fg=“red”,bg=“black”,font=“Arial”).place(x=60,y=120)
addTime = Label(clock,text =“Hour Min
Sec",font=60).place(x =110)
setYourAlarm = Label(clock,text =“When to wake you
sus", fg="albastru", relief="solid", font=
(„Helevetica”,7,“bold”)).loca(x=0, y=29)
Variabilele de care avem nevoie pentru a seta alarma (iniț ializare):
hour = StringVar()
min= StringVar()
sec = StringVar()
Timpul necesar pentru a seta ceasul de alarmă:

hourTime= Entry(clock,textvariable = hour,bg =“pink”,width


=15).loca(x=110,y=30)
minTime= Entry(clock,textvariable =min,bg =“pink”,width =
15).loca(x=150,y=30)
secTime = Entry(clock,textvariable = sec,bg =“pink”,width =
15).plasează(x=200,y=30)
Pentru a lua inputul de timp de la utilizator:

Setează Alarmă
10,comandă = timp_actual).locaț ie(x = 110,y = 70)
[Link]()
Executarea feronerie.
Acest modul este designul sau interfaț a grafică a utilizatorului sau
(GUI) al acestui proiect.

Cod sursă complet pentru alarmă


Ceas folosind Python
# Importaț i biblioteca necesară
de la tkinter import *
importaț i data ș i ora

importaț i timpul

importwinsound
de la threading importa *
# Creează Obiect
root = Tk()
Setaț i geometria
[Link]("400x200")
# Folosiț i Threading

defThreading():
t1=Thread(target=alarm)
[Link]()
defalarm():
Buclă Infinită
whileTrue:
# Set Alarm
set_alarm_time =f”{[Link]()}:{[Link]()}:
{[Link]()}
Aș teaptă un secund
[Link](1)
Obț ine timpul curent
current_time =
[Link]().strftime("%H:%M:%S")
afisează(timpul_curent, setează_timpul_alarmă)
# Verificaț i dacă alarma setată este egală cu ora curentă sau nu
dacă_timpul_curent == setează_timpul_alarmă:

Timpul să te trezeș ti
Redare sunet
[Link]("[Link]",winsound.SND_A
SYNC
# Adăugaț i etichete, ramă, buton, meniuri de opț iuni

Ceas de-alarmă
bold),fg="red").pack(pady=10)
Label(root,text="Setează timpul",font=("Helvetica 15 bold")).pack()
frame = Cadru(root)
[Link]()
hour = StringVar(root)
hours = (‘00’,‘01’,‘02’,‘03’,‘04’,‘05’,‘06’,‘07’,
‘08’,‘09’,‘10’,‘11’,‘12’,‘13’,‘14’,‘15’,
‘16’,‘17’,‘18’,‘19’,‘20’,‘21’,‘22’,‘23’,‘24’
)
[Link](ore[0])
hrs = MenuOpț iuni(frame, oră, *ore)
hrs.împachetează(lateral=STÂNGA)
minute = StringVar(root)
minutes = (‘00’,‘01’,‘02’,‘03’,‘04’,‘05’,‘06’,‘07’,
["08","09","10","11","12","13","14","15"]
‘16’,‘17’,‘18’,‘19’,‘20’,‘21’,‘22’,‘23’,
‘24’,‘25’,‘26’,‘27’,‘28’,‘29’,‘30’,‘31’,
‘32’,‘33’,‘34’,‘35’,‘36’,‘37’,‘38’,‘39’,
‘40’,‘41’,‘42’,‘43’,‘44’,‘45’,‘46’,‘47’,
‘48’,‘49’,‘50’,‘51’,‘52’,‘53’,‘54’,‘55’,
‘56’,‘57’,‘58’,‘59’,‘60’)
[Link](minutes[0])
mins = Opț iuneMeniu(frame, minut, *minute)
[Link](side=STÂNGA)
second = StringVar(root)
seconds = (‘00’,‘01’,‘02’,‘03’,‘04’,‘05’,‘06’,‘07’,
‘08’,‘09’,‘10’,‘11’,‘12’,‘13’,‘14’,‘15’,
‘16’,‘17’,‘18’,‘19’,‘20’,‘21’,‘22’,‘23’,
‘24’,‘25’,‘26’,‘27’,‘28’,‘29’,‘30’,‘31’,
‘32’,‘33’,‘34’,‘35’,‘36’,‘37’,‘38’,‘39’,
‘40’,‘41’,‘42’,‘43’,‘44’,‘45’,‘46’,‘47’,
‘48’,‘49’,‘50’,‘51’,‘52’,‘53’,‘54’,‘55’,
‘56’,‘57’,‘58’,‘59’,‘60’)
[Link](seconds[0])
secs = OptionMenu(frame, second, *seconds)
[Link]ă(lateral=STÂNGA)
Buton(root,text=„Setează Alarmă”,font=(„Helvetica
15”),command=Threading).pack(pady=20)
# Executa Tkinter
[Link]()
Output:
Concluzie
Scopul acestui proiect, Ceas deș teptător folosind Python, este să
creaț i un ceas cu alarmă folosind Python. Python conț ine câteva
biblioteci esenț iale precum DateTime ș i Tkinter, care ajută
ne în construirea unui proiect utilizând data ș i ora actuală.
De asemenea, oferă o interfaț ă utilizator pentru a seta alarma în funcț ie de
cererea într-un format de 24 de ore.
PARTEA 31: Număr
Joc de ghicit în Python
A number guessing game is a frequent mini-project for
programatorii începători care se ocupă cu generarea de numere aleatorii
ș i declaraț ii condiț ionale cu iteraț ie.
Jocul de ghicit numerele se bazează pe noț iunea jucătorului de a
estimează un număr între intervalul furnizat. Dacă jucătorul
prevesteș te numărul dorit, jucătorul câș tigă; altfel,
jucătorul pierde jocul. Deoarece acest joc are eforturi limitate astfel,
jucătorul trebuie să indice numărul cu
încercările limitate. Altfel, jucătorul va pierde jocul.
În acest tutorial, vom construi un joc de ghicit numere.
Python.
Reguli pentru jocul de ghicit numere
1. Trebuie să introduceț i doar numere întregi valide în cadrul
interval oferit.
[Link] avea la dispoziț ie încercări limitate pentru a estima
număr.
3. Nu poț i ieș i din joc o dată ce a început.
Dacă numărul de intrare este mai mic sau mai mare decât
numărul necesar, jucătorul primeș te mesajul (indiciu) pentru a
mutaț i mai departe în sus sau în jos în interval.

În primul rând, generăm un număr aleator între un interval definit în


un astfel de joc. Cerem utilizatorului să estimeze acest număr. Dacă
dacă presupunerea este corectă, raportăm că presupunerea este corectă ș i ne oprim
în afara circuitului. În rest, specificăm dacă numărul este mai mic sau
more significant than the actual number. We also ask the user
pentru totalul de ghiciuri pe care sunt autorizaț i să le facă. Când
numărul de încercări depăș eș te acest lucru, întrerupem bucla.
Utilizatorul poate folosi acest lucru pentru a cunoaș te numărul actual.
de exemplu, dacă utilizatorul ghiceș te că numărul este 45 ș i
rezultatul este că numărul exact este mai mic decât 45, utilizatorul
s-ar putea deduce că numărul nu va fi între 45 ș i 100
(cu condiț ia ca intervalul să fie de până la 100). (dat fiind că conț inutul este
până la 100). În acest fel, utilizatorul poate continua să ghicească ș i
interpretarea rezultatului. Publicăm numărul de încercări
îi ia utilizatorului să obț ine răspunsul corect.

Jocul de ghicit numere


Implementare în limbajul Python
importărandom
t =0
g = int(input("Total încercări: "))
low = int(input("Introduceț i intervalul inferior: "))

high = int(input("Introduceț i limita superioară: "))

x = [Link](low, high)
n = int(input(“Introduceț i un număr întreg în intervalul dat: “))
while(x !='n'):
dacă(t<(g-1)):
dacă n < x:
Numărul ghicit este prea mic
t = t+1
n = int(input("Introduceț i un număr întreg între valorile date")
range: “))
elif(n > x):
Numărul ghicit este mare
t = t+1
n = int(input("Introduceti un numar intreg intre datele date"))
range: “))
altfel:
Numărul ghicit este corect
print(“Total de estimări efectuate: “, t+1)
pauză
altfel:
A expirat timpul pentru încercări!
pauză
Output:
Total Guesses: 5

Introduceț i limita inferioară: 0

Introduceț i intervalul superior: 7

Introduceț i un număr întreg între intervalul dat: 5

Numărul ghicit este mic

Introduceț i un număr întreg între intervalul dat: 6

Numărul ghicit este corect

Total guesses taken: 2

Am generat programul în Python 3. Iată


instructions for making a number guessing game inPython:
1. Am cerut iniț ial utilizatorului să aleagă intervalul pentru
numărul care urmează să fie creat. Un număr întreg aleatoriu este
creat folosind funcț ia randint() din
pachet neaș teptat.
2. Am început o variabilă cu 0 pentru a urmări totalul
predicț ii făcute.
3. Am executat bucla while până când numărul
estimarea nu a fost egală cu numărul efectiv.
4. Am folosit o structură if-else pentru a verifica dacă
numărul estimat este mai mic sau mai mare decât cel real
numără ș i creș te numărul total de sugestii în fiecare
iteraț ie.
5. Am ieș it din buclă când estimarea a fost potrivită
numărul.
6. Am afisat totalul ghicirilor facute atunci când ghicirea
a fost precis.
În mod similar, replicând logica, putem face acest joc în
Python 2 sau orice alt limbaj de programare.
PARTEA 32: Joc Python :
Piatra, Hârtie, Foarfecă
Programarea jocurilor este o modalitate distractivă de a învăț a orice programare

În acest tutorial, vom învăț a cum să codificăm un simplu


Jocul Tăiț ei, Hârtie ș i Foarfece.
Regulile câș tigătoare în piatră, hârtie ș i foarfecă sunt următoarele:

Rock vs paper-> paper wins


Rock vs scissor-> Rock wins
foaie vs foarfece -> foarfece câș tigă.

Piatra, Hârtie ș i Foarfeca


Cod
Iată codul complet pentru proiect, pe care îl poț i rula ș i
vezi cum funcț ionează.
Pentru a face ca codul de mai sus să ruleze din nou ș i din nou într-o buclă, adăugaț i
codul de mai sus la sfârș itul buclei while
cod. Codul de mai jos va întreba utilizatorul, după 1 joc, dacă acesta
vrea să joace din nou, iar dacă utilizatorul introduce 'y', atunci jocul va
repornire.
Puteț i încerca acest cod local pe laptopul dvs. ș i să jucaț i jocul.
din nou ș i din nou.
ch =input(“do you wish to continue(y/n)”)#choice for
bucle continue
ifch==“y”:
player_choice=1
altfel:
pauză
Pentru a înț elege fluxul, codul a fost împărț it în
următoarele conț inuturi

1. Atribuiț i o alegere computerului


t = [“Rock”,“Paper”,“Scissors”]
#alegere întâmplătoare pentru computer

comp_choice = t[randint(0,2)]
Importaț i modulul random pentru a utiliza funcț ia randint(). Atribuim
o opț iune de joc pentru computer. este o listă de jocuri posibile
opț iuni. randomint(0,2) va genera aleatoriu un număr de la
intervalul dat de fiecare dată când este apelat. Poate da 0, 1 sau 2
conform codului nostru.
comp_choice va stoca valoarea ca
t[0] = “Rock”
t[1]=“Paper”
t[2]=“Scissor”

2. Ia input de la jucător
player_choice =input(“Chose Rock, Paper, Scissors?”)
Jucătorii vor da un input la alegerea lor

3. Utilizând bucla while pentru a juca mai multe


rundă
Uită-te la corpul while
?
în timp ce alegerea_jucătorului == 1:

#jucătorul alege opț iunea sa


player_choice =input(“Chose Rock, Paper, Scissors?”)
comp_choice = t[randint(0,2)]
dacă alegerea_jucătorului == alegerea_comp:

Tip!"
print("Scor")
print("computer câș tigă:",computer_win)
print(“player win:”,player_win)
elif alegerea_jucătorului == "Stâncă":

ifcomp_choice == "Hârtie":
Ai pierdut! computerul a ales
“player chose”, player_choice)
computer_win+=1
print("Scor")
print(„câș tigător computer:”, computer_win)
print(„jucător câș tigă:”,jucător_câș tigă)
altfel:
Felicitări! jucătorul a ales
“computer chose”, comp_choice)
player_win+=1
print("Scor")
afiș ează ("câș tigă computerul:", computer_win)
print("jucător câș tigat:", jucător_câș tigat)
elifplayer_choice == "Hârtie":
ifcomp_choice == "Foarfeca":
Ai pierdut! computerul a ales
“player chose”, player_choice)
computer_win+=1
Tipăriț i(„Punctaj”)
print("computer câș tigă:",computer_win)
print("jucător câș tigat:", jucător_câș tigat)
altfel:
felicitări! jucătorul a ales
“computer chose”, comp_choice)
player_win+=1
Punctaj
print("calculator câș tigă:", calculator_câș tigă)
print("jucător câș tigă:", jucător_câș tigă)
elifplayer_choice == "Foarfeci":
dacăcomp_alegere == "Piatră":

print("Ai pierdut, computerul a ales", comp_choice)


“player chose”, player_choice)
computer_win+=1
print("Scor")
print(„calculator câș tigă:”,computer_win)
print("jucător câș tigă:",player_win)
altfel:
Felicitări! jucătorul a ales
„calculatorul a ales”, comp_choice)
player_win+=1
print("Scor")
print("câș tigător computer:", computer_win)
print(„jucător câș tigă:”, jucător_câș tigă)
altfel:
Aceasta nu este o miș care validă. Verifică-ț i ortografia!
print(””)
ch=input(“do you wish to continue(y/n)”)#choice for
buclă continuă
ifch=="y":
player_choice=1
altfel:
pauză
Când bucla începe, alegerea jucătorului ș i a computerului
alegerile sunt comparate ș i cine câș tigă primeș te un punct.

4. Afiș are scor


computer_win=0
player_win=0
player_win ș i computer_win sunt iniț ializate la 0. Acestea
variabilele vor stoca scorurile.

5. Opț iunea de a juca din nou sau de a ieș i


ch=input("doriț i să continuaț i(y/n)")#alegere pentru
loop continuu
daca ich==“y”:

player_choice=1
comp_choice = t[randint(0,2)]
în altă ordine de idei:
pauză
Jucătorul are de ales să continue sau să plece. Alegerea jucătorului
este stocat într-o variabilă ch. Dacă este 'y', atunci player_choice este setat la
1 pentru a continua bucla, în alt caz controlul execută break
ș i iese din buclă.

Output-
Aici am jucat patru runde cu computerul. După
pentru fiecare rundă, scorurile sunt afiș ate pentru jucător ș i computer.

Alese piatră, hârtie, foarfecă? Piatra

Legătură!

Score

computer win: 0

player win: 0
doriț i să continuaț i (y/n) y

Alegeț i Piatră, Hârtie, Foarfecă? Hârtie

Ai pierdut! computerul a ales Foarfece, jucătorul a ales Hârtie

Score

computer win: 1

player win: 0

doreș ti să continui (y/n) y

Ai ales Piatră, Hârtie, Foarfeca? Hârtie

Legătură!

Scor

computer win: 1

player win: 0

doriț i să continuaț i (y/n) y

Alege Pietricica, Hârtie, Foarfeca? Foarfeca

Ai câș tigat! jucătorul a ales Foarfece, computerul a ales Hârtie

Scor

computer win: 1

player win: 1

doreș ti să continui (y/n) n


PARTEA 33: Notificator Desktop
Proiect Aplicaț ie Python
Ai încercat vreodată să proiectezi o notificare pe desktop
program care îndeplineș te cerinț ele tale specifice? Atinge tu
ș tii că poț i face asta folosind Python în doar câț iva paș i?
Nu te îngrijora, vom începe de la început; în această postare, vom ...
creaț i o aplicaț ie de notificare pe desktop pentru urmărirea
statistici zilnice ale coronavirusului.

Ce veț i descoperi în acest articol


Instalarea pachetelor Python care sunt necesare.
Obț inerea informaț iilor despre coronavirus prin internet.
Crearea unui program de notificări pe desktop.
Making your software run in the background is a
o modalitate grozavă de a economisi timp.

Hai să începem.
Trebuie să obț inem două pachete Python vitale pentru aceasta
aplicaț ie în timpul instalării pachetelor Python necesare.
Notă: Dacă foloseș ti Windows, execută aceste două instrucț iuni
la promptul de comandă; dacă folosiț i Linux, tastaț i-le aici
terminalul (pentru preluarea datelor de pe web)
pip install cereri

pip instala plyer


Putem obț ine date despre coronavirus de pe web folosind URL-ul
furnizat mai jos; eș ti liber să înlocuieș ti numele naț iunii cu
al tău, dar vom folosi datele despre coronavirus din India pentru
această aplicaț ie.
[Link]
Acum că avem toate uneltele de care avem nevoie pentru a construi acest lucru.
aplicaț ie, să ne apucăm de lucru la codare.

Notă: Va fi mai uș or dacă codificaț i acest lucru într-un compilator offline


mai degrabă decât un compilator online pentru că vom face asta
aplicaț ia rulează ca un proces de fond pe PC-ul tău mai târziu
etapele acestui articol; dacă codificaț i într-un compilator online, veț i
trebuie să descarc fiș ierul, care nu este necesar în offline
compilator. Îț i recomand să foloseș ti Visual Studio.

Pasul 1: Importarea bibliotecilor


import datetime #pentru citirea datei curente
importaț i timpul

import requests #pentru a obț ine datele despre coronavirus de pe web

de la plyer import notification #pentru a primi notificări pe tine


PC

Pasul 2: Recuperarea datelor din


Web
să nu existe date iniț ial
covidData = None
încearcă
covidData = [Link](“[Link]
[Link]/Api/india")
exceptie:
dacă datele nu sunt încărcate din cauza lipsei de internet
Te rog! Verifică-ț i conexiunea la internet

Pasul 3: Crearea unei notificări personalizate


timeout— specifies how long a notice should appear on the
[Link]()— specifică perioada de timp după care
observaț ia ar trebui să apară.

După ce ai rulat aplicaț ia, acesta este modul în care vei primi
notificare.
A avea aplicaț ia ta să funcț ioneze în fundal este grozav
mod de a economisi timp.

Cod sursă pentru Notificator pe Desktop


Aplicaț ie
import datetime #pentru citirea datei curente
importa timpul
importă cereri # pentru a obț ine date despre coronavirus de pe web
de la plyer import notificare # pentru a obț ine notificări pe dispozitivul tău
PC
să nu existe date iniț ial
covidData =None
încercare:
covidData = [Link]("[Link]
[Link]/Api/india")
cu excepț ia:
dacă datele nu sunt preluate din cauza lipsei de internet
Te rog! Verifică conexiunea ta la internet
dacă am preluat datele
dacă(covidData !=None):
#convertirea datelor în format JSON
data = [Link]()[‘Success’]
repetarea buclei de mai multe ori
în timp ce (Adevărat):
[Link](
#title of the notification,
title =“COVID19 Stats on
{}”.format([Link]())
corpul notificării
message =“Total cases : {totalcases}\nToday cases :
{todaycases}\nToday deaths :{todaydeaths}\nTotal active :
{activ}
totalcases = data[‘cases’],
todaycases = data[‘todayCases’],
todaydeaths = data[‘todayDeaths’],
active = data[“active”]),
crearea unui icon pentru notificare
#we need to download a icon of ico file format
app_icon =“[Link]”,
notificarea rămâne timp de 50 secunde
timeout = 50
)
#dormi timp de 4 ore => 60*60*4 sec
Notificarea se repetă la fiecare 4 ore
[Link](60*60*4)

Output:

Care este cea mai bună modalitate de a rula un program Python în


fundal?
Pur ș i simplu executaț i această comandă în promptul de comandă în
Windows sau terminal în Linux pentru ca programul tău să funcț ioneze în
fundalul. Observaț i că trebuie să tastaț i această comandă în
linia de comandă în Windows ș i terminalul în Linux.
Notă: numele-fisierului-aici> ar trebui să fie înlocuit cu
[Link]-tău-de-fail-aici>
[Link] .\<numele-tău-de-fiș ier-aici>
exemplu
[Link] .\[Link]
Asta e tot; programul tău va funcț iona acum în
fundal.

Cum pot să dezactivez notificările?


Este la fel de uș or ca ș i omorârea procesului python în Managerul de Activităț i. Dacă
dacă ai vreo problemă în a opri notificarea, te rog să împărtăș eș ti
experienț ă în zona de comentarii a acestei pagini. Există o
o varietate de alte situaț ii în care ai putea folosi această strategie.
În fiecare zi, vei fi reamintit să îț i iei
medicaț ie.
Nevoia de a bea apă este amintită la fiecare oră.
ș i multe altele; cum foloseș ti acest program depinde în întregime de tine
tu.

Concluzie
Acest program este compatibil cu orice sistem de operare,
inclusiv Windows, Linux ș i Mac. Te rog să te simț i liber să întrebi în
the comments area of this post if you desire a simpler desktop
program de notificare.

S-ar putea să vă placă și