Tkinter
Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 18 martie 2017; verificările necesită
20 de modificări .
Tkinter (din limba engleză Tk inter face ) este o bibliotecă grafică multiplatformă bazată pe unelte Tk (distribuită pe scară largă în lumea GNU / Linux și a altor sisteme similare UNIX , portată și pe Microsoft Windows ), scrisă de Steen Lumholt (Steen Lumholt) și Guido van Rossum [1] . Inclus în biblioteca standard Python .
Tkinter este un software gratuit distribuit sub o licență Python
[2] .
Numire
Biblioteca este concepută pentru a organiza dialogurile într-un program folosind o interfață grafică cu ferestre ( GUI ).
Biblioteca conține componente grafice comune:
- Toplevel/Tk - Fereastra Toplevel (widget rădăcină).
- Cadru - Cadru. Conține alte componente vizuale, utilizate pentru gruparea widget-urilor.
- Etichetă - Etichetă. Afișează ceva text sau elemente grafice.
- Intrare - Câmp de introducere a textului pe o singură linie.
- Text - Un câmp de introducere a textului formatat. Vă permite să afișați, editați și formatați text folosind diferite stiluri, precum și să încorporați imagini și ferestre în text.
- Canvas - Canvas. Poate fi folosit pentru a afișa primitive grafice, cum ar fi dreptunghiuri, elipse, linii, precum și text, imagini și ferestre.
- buton Un buton simplu pentru executarea unei comenzi și a altor acțiuni.
- Buton radio - Comutator. Reprezintă una dintre valorile alternative pentru o variabilă. De obicei lucrează în grup. Când utilizatorul selectează o opțiune, elementul selectat anterior din același grup este deselectat.
- Buton de selectare - Casetă de selectare. Similar cu un Radiobutton, dar cu capacități de selecție multiple, oferind o variabilă separată pentru fiecare instanță de widget.
- Scala — Scalați cu un glisor. Vă permite să setați o valoare numerică prin mișcarea glisorului.
- Listbox - Listă. Afișează o listă din care utilizatorul poate selecta unul sau mai multe elemente.
- Scrollbar - Scrollbar. Poate fi folosit împreună cu alte componente pentru a le derula.
- Meniu - Meniu. Servește pentru organizarea meniurilor pop-up (pop-up) și drop-down (pulldown).
- Buton Meniu - Buton Meniu. Folosit pentru a organiza un meniu derulant.
- Mesaj - Mesaj. Similar cu Label, dar vă permite să înfășurați linii lungi și să redimensionați ușor.
- Meniu Opțiuni
- Spinbox
- LabelFrame
- PanedWindow
De asemenea, trebuie remarcat faptul că Python are un set de instrumente suplimentare în următoarele module:
- Pânză
- Dialog
- FileDialog
- FixTk
- text derulat
- simpledialog
- Tix
- Tkconstante
- Tkdnd
- tkColorChooser
- tkCommonDialog
- tkFileDialog
- tkFont
- tkMessageBox
- tkSimpleDialog
- broasca testoasa
Exemplu: programul Hello World
de la import tkinter *
rădăcină = Tk ()
rădăcină . titlu ( "Bună ziua, lume!" )
rădăcină . geometrie ( '300x40' )
def button_clicked ():
imprimare ( "Bună ziua, lume!" )
defclose ( ):
rădăcină . distruge ()
rădăcină . renunta ()
buton = Buton ( rădăcină , text = „Apăsați-mă” , comandă = button_clicked )
butonul . pachet ( umplere = AMBELE )
rădăcină . protocol ( 'WM_DELETE_WINDOW' , close )
rădăcină . bucla principală ()
Analizarea programului
Exemplul de mai sus demonstrează cea mai simplă aplicație GUI din Python. Prima linie a programului importă modulul tkinter (înainte de versiunea 3.1 a limbajului Python, numele modulului tkinter era scris în cod cu majusculă - „Tkinter”):
de la import tkinter *
Ca urmare a importului în spațiul de nume al programului (script), există nume încorporate în Tkinter, care pot fi accesate direct. Trebuie remarcat faptul că importarea în bloc a numelor poate duce la conflictul lor. În plus, interpretului ia mai mult timp să-l găsească pe cel potrivit în lista de nume disponibile.
Următoarea comandă creează fereastra rădăcină (rădăcină) a programului (denumită în continuare fereastra):
rădăcină = Tk ()
Următoarea comandă schimbă titlul ferestrei:
rădăcină . titlu ( "Bună ziua, lume!" )
Următoarea comandă setează dimensiunile ferestrei:
rădăcină . geometrie ( '300x40' )
Următoarea este definiția de gestionare a funcției pentru evenimentul „butonul mouse-ului apăsat”.
def button_clicked ():
print ( „Bună lume!” )
Funcția de gestionare a evenimentului „închiderea ferestrei principale”. Oprește bucla principală a aplicației și distruge fereastra principală. Fără el, programul poate fi închis numai dacă procesul de interpret Python este încheiat. Deoarece funcția folosește variabila globală rădăcină, declarația funcției în sine trebuie să vină după declararea variabilei rădăcină.
def close ():
rădăcină . distruge ()
rădăcină . renunta ()
Creați un buton cu textul „Apăsați-mă” și legați-l la funcția de gestionare definită mai sus:
buton = Buton ( rădăcină , text = „Apăsați-mă” , comandă = button_clicked )
„Ambalăm” butonul creat utilizând managerul de aspect al pachetului. fill=BOTH (de asemenea fill="both") îi spune butonului să ocupe tot spațiul disponibil (lățime și înălțime) pe widget-ul rădăcină părinte:
butonul . pachet ( umplere = AMBELE )
Legați evenimentul de închidere a ferestrei principale cu funcția de gestionare de închidere:
rădăcină . protocol ( 'WM_DELETE_WINDOW' , close )
Începem bucla principală a aplicației:
rădăcină . bucla principală ()
Ca urmare a apăsării butonului, mesajul „Hello, World!” va fi afișat în consolă. Mesajul va fi afișat de fiecare dată când este apăsat butonul.
Vezi și
Note
- ↑ Matt Conway, Tkinter Life Preserver Arhivat 31 mai 2016 la Wayback Machine
- ↑ Tkinter Overview Arhivat 13 noiembrie 2013. (Engleză)
Literatură
- John E Grayson. Programare Python și Tkinter. - Publicaţiile Manning, 1999. - 658 p. — ISBN 9781884777813 .
- Suzi R.A. Crearea de aplicații cu o interfață grafică de utilizator // Limbajul de programare Python: un tutorial. - M . : Intuit, Binom. Laboratorul de cunoștințe, 2006. - 328 p. — ISBN 5-9556-0058-2 .
Link -uri
Seturi de instrumente (seturi) de elemente GUI |
---|
nivel scăzut |
|
---|
nivel înalt | Amiga OS |
|
---|
MacOS și macOS |
- Cacao
- macapp
- MacZoop
- Centrală electrică
|
---|
Windows |
|
---|
UNIX , sub X |
|
---|
Cross platform _ | Bazat pe flash |
|
---|
Bazat pe XML, AJAX sau SVG |
|
---|
Bazat pe Java |
|
---|
Bazat pe C sau C++ |
|
---|
Bazat pe Common Lisp |
|
---|
Bazat pe Pascal |
|
---|
Bazat pe Python |
|
---|
Pe baza Obiectiv-C |
|
---|
|
---|
|
---|
Piton |
---|
Comunitate |
|
---|
Implementări |
|
---|
Alte |
|
---|