Obiective
În această lecție, veți învăța:
- Bazele programării de interfețe grafice (GUI) cu Python și biblioteca
tkinter - Crearea de ferestre și gestionarea evenimentelor în
tkinter - Utilizarea de widget-uri comune, cum ar fi etichete, butoane și casete de text
- 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:
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:
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:
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:
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:
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:
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():
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:
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:
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:
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.