Noțiuni introductive despre interfețele grafice ale utilizatorului în Python

Cuprins

În acest tutorial vom pune Exemple pentru implementarea aplicațiilor GUI în Python, există multe module pentru a lucra cu o interfață grafică, aici am ales Tkinter, deoarece vine preinstalat cu Python și ne va ajuta să vedem cum funcționăm în acest fel, deși la final vom vedea un mic exemplu de PyQt.

Putem verifica dacă Tkinter modulul este instalat corect folosind:

 python -m tkinter
NotăÎn Python 2 ar fi primul t cu majuscule: Tkinter, deoarece în Python 3 a fost redenumit.

Dacă este instalat corect, vom vedea că este afișată o fereastră precum cea de mai jos:

Dacă nu vom vedea o eroare, aceasta va indica faptul că nu poate găsi acest modul:

Pentru a instala modulul în Python 3 în cadrul distribuțiilor Debian:

 sudo apt-get install python3-tk
Pentru alte versiuni, consultați următorul link. Tutorialul este axat pe a da o primă impresie despre lucrul cu GUI în Python, dacă sunteți nou la acest subiect, atunci vă va ajuta, dacă căutați subiecte avansate, acesta nu este tutorialul potrivit.

NotăAici vom lucra cu Python 3, importăm biblioteca după cum urmează:

 import tkinter
Cu toate acestea, în Python 2 trebuie să-l importați după cum urmează, am vorbit deja despre faptul că acesta va fi redenumit:
 import Tkinter

Vom începe exemplul tutorial cu exemplu, vom începe cu cel mai ușor și îl vom complica la sfârșit.

Exemplul 1
Vom crea o fereastră simplă pentru aceasta scriem următorul cod:

 import tkinter window = tkinter.Tk () window = tkinter.mainloop ()
Cu prima linie importăm modulul necesar, următorul creează fereastra principală și dacă eliminăm ultima instrucțiune fereastra nu va fi văzută când executăm codul. Rezultatul exemplului:

Acest exemplu a fost foarte lung, 3 rânduri … Să trecem la următorul.

Exemplul 2
În acest exemplu, care nu este mult mai lung decât precedentul, vom crea fereastra așa cum am făcut în exemplul 1, dar o vom configura puțin, vom schimba culoarea, dimensiunea și titlul.

 import tkinter ca tk window = tk.Tk () window.config (bg = "albastru") window.geometry ("400x300") window.title ("Exemplu2") window.mainloop ()
Prima linie încă importă modulul tkinter, dar îi oferim un alias, astfel încât să putem folosi un cuvânt mai scurt în cod. Vom crea fereastra ca în exemplul anterior. Și următoarele 3 linii vor configura culoarea, dimensiunea și titlul în ordine. Ultima linie pe care o cunoaștem deja. Rezultatul exemplului este după cum urmează:

Până acum totul a fost foarte ușor, să continuăm cu mai multe exemple.

Exemplul 3
Acum vom crea un buton în interiorul ferestrei principale, care nici nu ne va complica prea mult, să vedem codul:

 import tkinter ca tk window = tk.Tk () window.geometry ("200x150") button = tk.Button (window, text = "Testing") button.grid (rând = 1, coloană = 1) window.mainloop ()
Singurele linii care necesită explicații sunt:
 button = tk.Button (fereastră, text = "Testare") button.grid (rând = 1, coloană = 1)
Primul creează un buton cu numele Testing (buton), și îl atribuim lui fereastră, care este variabila ferestrei noastre principale. Al doilea plasează butonul în rând și coloană 1. Execuția ne va arăta următoarele:

Butonul este pur și simplu afișat, nu funcționează, deoarece nu servește evenimente, o vom face în exemplul următor.

Exemplul 4
Acum vom participa la un eveniment pentru a deschide o a doua fereastră, care nu va fi cea principală, să vedem codul:

 import tkinter ca tk def open (): window2 = tk.Toplevel (window) window = tk.Tk () window.geometry ("200x150") button = tk.Button (window, text = "Open", command = open) button.grid (rând = 1, coloană = 1) window.mainloop () 
Vom vedea noile linii, funcția deschisă va avea următoarea instrucțiune, care va crea o fereastră „copil” a celei principale.
 window2 = tk.Toplevel (fereastră)
Și butonul are o mică schimbare, observați comanda, este să executați o funcție, în acest caz să apelați funcția deschis:
 button = tk.Button (fereastră, text = "Deschidere", comandă = deschis)
Să mergem la un exemplu cu o clasă.

Exemplul 5
Acesta este ultimul exemplu de tkinter și va fi cel mai lung, vom crea o clasă pentru a face ceva diferit. Ceea ce vom face este o fereastră mică, care nu poate fi redimensionată, va avea o etichetă text și un buton, de fiecare dată când apăsăm butonul, numărul va crește. Să trecem la cod:

 import tkinter ca clasă tk Aplicație (): contor = 1 def __init __ (auto): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("Exemplul 5") self . window.resizable (width = False, height = False) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = „Creșteți”, comanda = self.increase) self.button.pack () def createLabel (self): self.tag = tk.Label (self.window, text = "0", fg = "blue") self.tag . pack (pady = 10) def increment (self): self.tag ["text"] = self.counter self.counter + = 1 aplicație = Application () 
În funcțiune __init__ vom crea fereastra și o vom configura, pe lângă apelarea funcțiilor createButton Da createLabel pentru noi să credem aceste elemente. Dacă am văzut exemplele anterioare, acesta nu ar trebui să genereze complicații sau îndoieli. La pornirea programului avem fereastra cu numărul la 0:

Dacă facem clic pe buton numărul crește, de exemplu după ce am dat clic de 25 de ori avem următoarele:

În acest tutorial am văzut elementele de bază ale modulului tkinter, veți putea crea multe alte lucruri, dacă sunteți interesat să aprofundați aici aveți linkul către pagina oficială Python unde vorbesc despre tkinter.

Aveți alte biblioteci în Python cu care puteți programa interfețe grafice așa cum am spus la început, unele dintre ele sunt:

  • PyGTK
  • wxPython
  • PyQT

Pentru a putea compara un pic tkinter cu un alt modul, vom da un exemplu de PyQt.

Exemplu cu PyQT
Pentru a lansa acest exemplu va trebui să instalați biblioteca, puteți vizita linkul pe care l-am pus mai sus. Vom crea o fereastră cu dimensiunea de 275x200 și cu titlul Exemplu PyQt4. Va apărea și în poziția 300x300

 import sys from PyQt4 import QtGui application = QtGui.QApplication (sys.argv) window = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('PyQt4 Example') window. show () sys.exit (application.exec_ ()) 
Dacă executăm codul, obținem următoarea ieșire:

Nimic complicat, cum a fost observat de-a lungul tutorialului, am putea continua să punem exemple, deoarece există multe lucruri de atins, dar cu o introducere vă pregătește deja să creați propriile exemple, adăugând alte elemente, cum ar fi liste, casete de text unde să scrii etc.

V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave