Conținut curs
Python Avansat
Despre lecție

Obiective

În această lecție, veți învăța:

  1. Bazele programării de interfețe grafice (GUI) cu Python și biblioteca tkinter
  2. Crearea de ferestre și gestionarea evenimentelor în tkinter
  3. Utilizarea de widget-uri comune, cum ar fi etichete, butoane și casete de text
  4. Aranjarea widget-urilor într-o fereastră folosind gestionari de geometrie

1. Bazele programării GUI cu Python și tkinter

tkinter este biblioteca standard de Python pentru crearea de interfețe grafice (GUI) pentru aplicații desktop. Este o interfață subțire pentru biblioteca Tk GUI, care este disponibilă pe majoritatea sistemelor de operare.

Pentru a începe să utilizați tkinter, importați biblioteca în programul dvs. Python:

python
import tkinter as tk

2. Crearea de ferestre și gestionarea evenimentelor

2.1. Crearea unei ferestre principale

Pentru a crea o fereastră principală în tkinter, creați o instanță a clasei tk.Tk:

python
import tkinter as tk

root = tk.Tk()
root.mainloop()

mainloop() este o funcție care pornește bucla de evenimente care procesează și răspunde la evenimente, cum ar fi clicurile pe butoane sau apăsările de taste.

2.2. Gestionarea evenimentelor

Pentru a răspunde la evenimentele generate de widget-uri, cum ar fi apăsarea unui buton, utilizați metoda command a widget-ului și atribuiți o funcție care va fi apelată atunci când se produce evenimentul. De exemplu:

python
import tkinter as tk

def on_button_click():
    print("Am apăsat butonul")

root = tk.Tk()

button = tk.Button(root, text="Apasă-mă", command=on_button_click)
button.pack()

root.mainloop()

3. Utilizarea widget-urilor comune

3.1. Etichete (Label)

Etichetele sunt widget-uri folosite pentru a afișa text sau imagini. Pentru a crea o etichetă, utilizați clasa tk.Label:

python
label = tk.Label(root, text="Aceasta este o etichetă")
label.pack()

3.2. Butoane (Button)

Butoanele sunt widget-uri care pot fi apăsate pentru a declanșa o acțiune. Pentru a crea un buton, utilizați clasa tk.Button:

python
button = tk.Button(root, text="Apasă-mă", command=on_button_click)
button.pack()

3.3. Casete de text (Entry)

Casetele de text sunt widget-uri care permit utilizatorilor să introducă text. Pentru a crea o casetă de text, utilizați clasa tk.Entry:

python
entry = tk.Entry(root)
entry.pack()

Pentru a obține sau a seta textul dintr-o casetă de text, utilizați metodele get() și insert():

python
text = entry.get()
entry.insert(0, "Acesta este un text nou")

4. Aranjarea widget-urilor într-o fereastră folosind gestionari de geometrie

4.1. Gestionarul de geometrie pack

Gestionarul de geometrie pack este cel mai simplu mod de a aranja widget-urile într-o fereastră. Acesta aranjează widget-urile în ordinea în care sunt adăugate, într-un container:

python
label.pack()
button.pack()
entry.pack()

4.2. Gestionarul de geometrie grid

Gestionarul de geometrie grid vă permite să aranjați widget-urile într-un tabel, specificând rândurile și coloanele în care trebuie să fie plasate:

python
label.grid(row=0, column=0)
button.grid(row=1, column=0)
entry.grid(row=2, column=0)

4.3. Gestionarul de geometrie place

Gestionarul de geometrie place vă permite să plasați widget-urile într-o poziție absolută sau relativă în container, specificând coordonatele x și y:

python
label.place(x=10, y=10)
button.place(x=10, y=40)
entry.place(x=10, y=70)

Concluzie

În această lecție, ați învățat cum să utilizați biblioteca tkinter pentru a crea aplicații desktop cu Python. Ați explorat crearea de ferestre, gestionarea evenimentelor, utilizarea widget-urilor comune și aranjarea widget-urilor într-o fereastră folosind gestionari de geometrie. Aceste cunoștințe vă vor permite să creați aplicații desktop cu interfețe grafice personalizate, care îmbunătățesc experiența utilizatorului și facilitează interacțiunea cu programele dvs. Python.