„Python“ - vartotojo sąsajos, 2 dalis

Turinys
Kaip matėme pirmoje pamokos dalyje, lango sukūrimas yra gana paprastas, šioje antroje dalyje mes eisime šiek tiek toliau, gilindamiesi į tai, ką palikome kaip pagrindą, ir išplėsdami kodą, kad sukurtume kažką su didesnis sudėtingumo laipsnis.
Pridėti mygtuką
Kai išeisime iš lango, jame turi būti daugiau elementų, o vienas iš pagrindinių, bet labai svarbių yra mygtukas, kurį pridėsime btn = wx. Mygtukas (laimėti) mūsų kode, pažiūrėkime:
 importuoti wx programą = wx.App () win = wx.Frame (Nėra) btn = wx.Button (win) win.Show () app.MainLoop () 

Kaip matome, tai praktiškai tas pats kodas, kaip aprašyta aukščiau, tačiau mes įtraukiame instrukciją, kuri prideda mygtuką, paveikslėlyje matome rezultatą:

Rezultatas nėra labai estetiškas, nes mygtukas užima visą langą, tačiau neturėtume nusiminti, kitame skyriuje pamatysime, kaip tai valdyti, kad akiai būtų maloniau.
Etiketės ir pozicijos
Ankstesniame skyriuje supratome, kad nors labai lengva pridėti daugiau elementų, turime sugebėti juos paskirstyti taip, kad grafiniu lygmeniu jis atitiktų tai, ko norime pasiekti, todėl galime nustatyti etiketes, dydžius ir pozicijas lango elementams.
Mes pamatysime šį kodą su atitinkamu rezultatu, kad galėtume geriau analizuoti ir suprasti procesą.
 importuoti wx app = wx.App () win = wx.Frame (Nėra,) loadButton = wx.Button (win, label = 'Open') saveButton = wx.Button (win, label = 'Save') win.Show ( ) app.MainLoop () 

Kaip matome, mes įterpiame vertę į lango pavadinimą, kaip argumentą konstruktoriui, kai sugeneruojame, tada sukuriame du mygtukus ir kiekvieną iš jų pridedame etiketę ar etiketę, galime pamatyti rezultatą, nors jis gali būti ne būti tuo, ko tikimės:

Iš tiesų matome, kad kažkas neatrodo gerai ir vienas iš mygtukų nematomas, nes mes nenurodome jo padėties, todėl jis yra paslėptas po kitu mygtuku.
Mes tai ištaisysime naudodami šį kodą:
 importuoti wx programą = wx.App () win = wx.Frame (Nėra ,, size = (410, 335)) win.Show () loadButton = wx.Button (win, label = 'Open', pos = (225, 5), dydis = (80, 25)) saveButton = wx. Button (win, label = 'Save', pos = (315, 5), size = (80, 25)) filename = wx.TextCtrl (win, pos = (5, 5), dydis = (210, 25)) turinys = wx. „TextCtrl“ (laimėti, poz = (5, 35), dydis = (390, 260), stilius = wx. .MainLoop () 

Naudodami šį kodą, be detalių pataisymo mygtukų padėtimis, mes pasinaudojame ir pridedame kai kuriuos teksto valdiklius, toliau esančiame paveikslėlyje pažiūrėkime, kaip viskas atrodytų.

Situacija jau yra geresnės formos, tačiau dabar savęs klausiame, ką darysime su šiuo langu, nes kitame skyriuje aptarsime kai kurias funkcijas.
Įvykių tvarkymas
Naudojant tokio tipo metodą kuriant mūsų programas, šiek tiek keičiasi ir mūsų veiksmų vizija, o šiuo atveju ir veiksmus, kuriuos programa atlieka, vadinsime įvykiais, šiuos įvykius sukelia vartotojo veiksmai, pvz., Mygtuko paspaudimas, todėl šiek tiek pakeitėme kodą, kad būtų įtraukti šie įvykiai:
loadButton.Bind (wx.EVT_BUTTON, load)

Ši eilutė daro mus sąsaja tarp įkėlimo funkcijos ir elemento, šiuo atveju mygtuko, todėl mes jau žinome, kad pirmiausia turime apibrėžti funkciją ir tada priskirti ją į įvykį, susietą su elementu.
Pažiūrėkime galutinį kodą:
 importuoti wx def apkrova (įvykis): failas = atviras (failo pavadinimas.GetValue ()) turinys. SetValue (failas.skaitymas ()) file.close () def išsaugoti (įvykis): failas = atviras (failo pavadinimas.GetValue (), ' w ') file.write (content.GetValue ()) file.close () app = wx.App () win = wx.Frame (Nėra ,, size = (410, 335)) bkg = wx.Panel (win) loadButton = wx.Button (bkg, label = 'Open') loadButton.Bind (wx.EVT_BUTTON, load) saveButton = wx.Button (bkg, label = 'Išsaugoti') saveButton.Bindon (wx.EVT_BUTTON, išsaugoti) filename = wx.TextCtrl (bkg) content = wx.TextCtrl (bkg, style = wx.TE_MULTILINE | wx.HSCROLL) hbox = wx.BoxSizer () hbox.Add (failo pavadinimas, proporcija = 1, vėliava = wx.EXPAND) hbox.Add [loadButton, proporcija = 0, vėliava = wx.LEFT, kraštinė = 5] hbox.Add (saveButton, ratio = 0, flag = wx.LEFT, border = 5) vbox = wx.BoxSizer (wx.VERTICAL) vbox.Add („hbox“, proporcija = 0, vėliava = wx.EXPAND | wx.ALL, kraštinė = 5) „vbox.Add“ (turinys, proporcija = 1, vėliava = „wx.EXPAND“ | wx.LEFT | px.DUGALIS | wx.RIGHT, kraštinė = 5) bkg.SetSizer (vbox) win.Show () app.MainLoop () 

Ši programa redaguoja tekstinius failus gana paprastai, tačiau privertė mus naudoti daugybę funkcijų ir programų.
Tuo baigiame vadovėlį, žinodami, kaip naudotis a įrankių rinkinys vartotojo sąsają, raginame ištirti įvairius esamus įrankių rinkinius, įskaitant tuos, kurie yra išskirtiniai tik tam tikrai operacinei sistemai, nepamiršdami, kad kiekvienas įrankis mums kartais pravers.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave