În această parte a tutorialului wxPython, vom încerca să creăm cele mai simple exemple.
Un exemplu simplu
Ar trebui să începeți cu cel mai simplu exemplu. Primul nostru script va fi un simplu afișaj al unei ferestre mici. Vom analiza fiecare linie a celui mai simplu scenariu.
Prima linie începe cu un shebang (secvența de caractere "#" și "!"), Urmată de calea către interpret.
Următoarea linie vă permite să importați modulele de bază ale wxPython. Printre acestea: kernel-ul, comenzile, interfața grafică, ferestrele și altele. Din punct de vedere tehnic, wx este un spațiu de nume. Toate funcțiile și obiectele modulelor de bază încep cu prefixul wx.
Următorul rând al codului nostru creează un obiect de aplicație.
Fiecare program pe wxPython trebuie să aibă un obiect de aplicație.
În această secțiune, vom crea un obiect wx.Frame. Widgetul wx.Frame este un widget important pentru containere. Puțin mai târziu vom examina mai îndeaproape acest widget. Widgetul wx.Frame în sine este widget-ul părinte pentru celelalte widget-uri. Nu are widget-ul părintelui. Dacă specificăm "none" pentru parametrul părinte, atunci vedem că widget-ul nostru nu are widgeturi părinte. Astfel wx.Frame este widgetul cel mai înalt din ierarhie.
După ce am creat widgetul wx.Frame. Trebuie să folosim metoda Show () pentru ao afișa pe ecran.
Ultima linie începe buclele principale. El este infinit. Buclele principale captează și trimit toate evenimentele care au loc în timpul duratei de viață a aplicației.
Acest exemplu a fost foarte simplu. Dar, în ciuda simplității, puteți face o mulțime de lucru cu fereastra care rezultă. În special, putem schimba dimensiunea ferestrei, minimiza-o sau implementa-o. Pentru această funcție este necesară o mulțime de coduri. Toate aceste funcții sunt ascunse și disponibile în mod implicit în setul de instrumente wxPython. Nu este nevoie să reinventezi roata.
Fig. 1. Rezultatul codului nostru simplu.
Widgetul wx.Frame este unul dintre cele mai importante în wxPython. Acesta este un widget pentru containere. Aceasta înseamnă că poate conține și alte widget-uri înăuntru. De fapt, poate conține orice fereastră care nu este un cadru sau un dialog. Widgetul wx.Frame constă dintr-un antet, fețe și o parte centrală a containerului. Pozițiile și fețele sunt opționale. Acestea pot fi eliminate folosind diferite steaguri.
Wx.Frame are următorul constructor:
Constructorul are șapte parametri. Primul parametru nu are o valoare implicită. Ceilalți șapte parametri au o astfel de valoare. Primii trei parametri sunt obligatorii, iar ultimele patru sunt opționale.
wx.DEFAULT_FRAME_STYLE este un set de steaguri implicite. wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN. Prin combinarea diferitelor stiluri, putem schimba stilul widgetului wx.Frame. Mai jos este un exemplu clar de schimbare a stilurilor.
Intenția noastră era să afișăm fereastra fără funcția de pliere. Prin urmare, nu am specificat acest steag în parametrul de stil.
Fig. 2. Fereastra fără elementul de pliere.
Dimensiunea și poziția
Putem specifica în mod independent dimensiunea aplicației noastre în două moduri diferite. Mai întâi, avem un parametru de dimensiune în constructorul widget-ului. De asemenea, putem folosi metoda SetSize ().
În acest exemplu, dimensiunea aplicației va fi de 250x200 pixeli.
În constructor, am specificat că lățimea widgetului wx.Frame este de 250 de pixeli. Înălțimea widget-ului este de 200 de pixeli.
În mod similar, putem plasa aplicația pe ecran. În mod prestabilit, fereastra este fixată în colțul din stânga sus al ecranului. Dar, în funcție de diferite sisteme de operare și chiar de managerii de ferestre, situația se poate schimba. Unii dintre managerii ferestrelor aleg poziția ferestrelor aplicației.
Unii dintre ei efectuează optimizarea, ca urmare a faptului că ferestrele nu se suprapun. În același timp, programatorul poate poziționa singur fereastra. În constructorul widget wx.Frame, am avut deja parametrul pos. Dacă setați alte valori decât valorile implicite, putem controla poziția de plasare a ferestrei.
Există mai multe metode prin care puteți face acest lucru.
Există, de asemenea, situații în care este posibil să fie necesar să afișăm o fereastră cu dimensiunea maximă. În acest caz, fereastra este plasată în poziție (0, 0) și ocupă întreg ecranul. În acest caz, wxPython calculează coordonatele interne ale ecranului. Pentru a afișa fereastra wx.Frame cu dimensiunile maxime, utilizați metoda Maximize ().
Centrarea pe ecran
Dacă vrem să centram aplicația noastră pe ecran, wxPython are o metodă convenabilă pentru aceasta. Folosind metoda Center (), fereastra noastră va fi plasată în centrul ecranului. Nu este necesar să se calculeze lățimea și înălțimea ecranului pentru a determina poziția ferestrei. Trebuie doar să utilizați această metodă.
În acest exemplu, am centrat o fereastră mică pe ecranul nostru.
Aceasta este metoda care centrează fereastra pe ecran.
În această secțiune, am învățat exemplele cele mai simple ale lucrării lui wxPython.