Tkinter Listbox

Tkinter Listbox

Pythonin GUI-oletustyökalusarja on nimeltään Tkinter. Pythonin ja Tkinterin yhdistelmä tekee GUI-sovellusten kehittämisestä nopeaa ja helppoa. Tkinter tarjoaa tehokkaan olio-yhdyskäytävän Tk GUI -työkalusarjalle. Gui-käyttöliittymän rakentaminen Tkinteriä käyttämällä on helppoa. Tässä oppaassa näytämme sinulle Tkinter-kirjaston käytön Tkinter GUI:n luomiseen ja Listbox-widgetin lisäämiseen siihen.

Ubuntu 20.04 -järjestelmän käytön aloittamisen aikana päivitämme järjestelmämme käyttämällä joitain komentoja päätelokerossa. Käynnistämme päätesovelluksen näppäinyhdistelmällä Ctrl+Alt+T ja lisäämme siihen sopivan 'päivitys'-ohjeen. Suoritus vaatii sisäänkirjautuneen käyttäjän salasanan ja se päivittää koko järjestelmän salasanan lisäyksen jälkeen.







Python3:n onnistuneen asennuksen jälkeen sinun on asennettava Python tk -apuohjelma, jotta voit käyttää sen erilaisia ​​widgetejä koodissa. Kokeile asennusta varten seuraavaa komentoa terminaalin kyselyalueella:





Tämän apuohjelman asentaminen edellyttää vahvistusta ennen itsensä suorittamista. Paina 'y' seuraavan kysymyksen jälkeen:





Tämän apuohjelman koko asennuksen jälkeen saamme seuraavan valintaikkunan 'tk'-widgetille päätenäytössä. Siinä on kaksi painiketta – yksi lopettamista varten ja toinen napsautuksella.



Kun napsautat jatkuvasti 'Klikkaa minua!' -painiketta, saamme hakasulkeet sen sisältämän tekstin ympärille. 'Tk':n dialoginäytön leveys kasvaa. Napauttamalla 'Lopeta
-painiketta, tk-dialogi suljetaan kaikissa ongelmissa.

Esimerkki 1:

Aloitamme ensimmäisen Python-esimerkkimme näyttääksemme Tkinter Listboxin käytön ohjelmassa. Tätä varten luomme uuden Python-tiedoston ja tuomme kaikki siihen liittyvät Tkinter-kirjaston toiminnot. GUI-objekti 't' luodaan koodiin 'Tk()'-funktiolla. Sen avulla voimme luoda graafisen käyttöliittymän pääikkunan näytöllemme. Geometry()-funktiota kutsutaan käyttämällä Tkinterin objektia 't' tietynkokoisen näytön luomiseksi.

Nyt luomme Tkinterin GUI-näytölle tekstityyppisen widgetin 'l'-tunnisteen, jossa on tekstiä widgetin merkitsemiseksi. Tämän jälkeen luodaan widget Listbox käyttämällä 't'-objektia 'Listbox'-funktion parametreihin. Listbox-widgetiä käyttävää insert()-funktiota kutsutaan lisäämään 5 uutta merkkijonoarvoa Listboxiin määritetyllä numeroilla tilauksen luomiseksi.

Etiketti 'l' pakataan sen jälkeen käyttämällä pack()-funktiota. Listbox on pakattu. Mainloop()-funktiota kutsutaan käyttämällä Tkinterin 't'-objektia luomaan käyttäjän luoma perussilmukka tapahtumista. Näin Listboxia käytetään Pythonissa Tkinter-moduulin kautta. Ohjelma on nyt valmis ja käyttövalmis. Tallennetaan se tiedostoon ja lopetetaan.

#!/usr/bin/python3
tkinterin tuonnista *
t = Tk ( )
t.geometry ( '200x250' )
l = etiketti ( t, teksti = 'Lempivärini...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Valkoinen' )
listbox.insert ( kaksi , 'Musta' )
listbox.insert ( 3 , 'Punainen' )
listbox.insert ( 4 , 'Sininen' )
listbox.insert ( 5 , 'Keltainen' )
l.pack ( )
listbox.pack ( )
t.mainloop ( )

Tiedoston sulkemisen jälkeen käynnistämme päätelaitteen uudelleen ja luettelemme päähakemiston sisällön 'ls'-käskyn avulla. Se osoittaa, että äskettäin päivitetty Python-tiedosto on myös siellä. Käytämme python3:a Python-tiedoston suorittamiseen.

Suorituksen jälkeen seuraava Tkinterin GUI-näyttö avautuu näytöllemme otsikolla 'tk'. Harmaalla alueella näkyy merkitty teksti. Valkoisella alueella näet Listbox-kohteet, eli kohteet, jotka on lisätty Listbox-objektin avulla. Voit sulkea GUI Tkinter -näytön oikean reunan punaisella ristillä.

Esimerkki 2:

Katsotaanpa Listboxin käyttöä yhdessä joidenkin muiden widgetien kanssa, jotta se olisi hieman interaktiivinen. Samaa Python-skriptiä käytetään samassa kooditiedostossa pienin muutoksin joillakin riveillä. Lisäämme uuden koodirivin tämän koodin riville 12. Luomme painikkeen 'b' Tkinterin GUI-näyttöön käyttämällä 'Button'-toimintoa ja ottamalla 'Delete' -tekstin painikkeen otsikoksi ja Tkinter-objektin 't'.

Button()-funktion kolmas parametri sisältää Listbox-kohteiden poistokomennon ANCHOR-komennolla, eli kohteen valitsemisen ja sen poistamisen painikkeella. Tarra, luetteloruutu ja painike on pakattu. Päätapahtumasilmukka luodaan tämän graafisen käyttöliittymän suorittamista varten.

#!/usr/bin/python3
tkinterin tuonnista *
t = Tk ( )
t.geometry ( '200x250' )
l = etiketti ( t, teksti = 'Lempivärini...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Valkoinen' )
listbox.insert ( kaksi , 'Musta' )
listbox.insert ( 3 , 'Punainen' )
listbox.insert ( 4 , 'Sininen' )
listbox.insert ( 5 , 'Keltainen' )
b = Painike ( t, teksti = 'Poistaa' , komento = lambda listalaatikko =listbox: listbox.delete ( ANKKURI ) )
l.pack ( )
listbox.pack ( )
b.pack
t.mainloop ( )

Suoritamme saman tiedoston tallennuksen jälkeen.

Tulos näyttää viiden kohteen luetteloruudun sekä 'Poista'-painikkeen.

Valitsemme 'Blue' Listbox -kohdan ja painamme 'Poista' -painiketta.

Valittu kohde poistetaan luetteloruudusta.

Päivitämme nyt saman koodin lisätoiminnon lisäämiseksi. Joten, kolmannella rivillä, päivitämme GUI-ikkunan koon. 5. koodiriville lisäämme määritelmän 'showSelected()' -funktiolle. Tämä funktio kutsuu config()-funktiota käyttämällä seuraavaa objektia saadakseen valitun kohteen tekstin Listboxista “Lbx”. Rivillä 15 painike kutsuu komentoparametrissaan olevaa showSelected()-funktiota.

#!/usr/bin/python3
tkinterin tuonnista *
t = Tk ( )
t.geometry ( '400x300' )
def showValittu ( ) :
show.config ( teksti =Lbx.get ( ANKKURI ) )
l = etiketti ( t, teksti = 'Lempivärini...' )
Lbx = Listbox ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Valkoinen' )
Lbx.insert ( kaksi , 'Musta' )
Lbx.insert ( 3 , 'Punainen' )
Lbx.insert ( 4 , 'Sininen' )
Lbx.insert ( 5 , 'Keltainen' )
Painike ( t, teksti = 'Näytä valitut', commnd=showSelected).pack()
näytä = etiketti(t)
näytä.pakkaus
t.mainloop()

Suoritamme päivitetyn koodin.

Seuraava Listbox-näyttö, jossa on 'Näytä valitut' -painike, luodaan.

Valitsemme Listbox-kohdan 'Valkoinen' ja napautamme 'Näytä valitut' -painiketta. 'Valkoinen' teksti näkyy GUI-näytössä painikkeen jälkeen.

Johtopäätös

Siinä kaikki Tkinter-moduulin käytöstä Pythonissa. Lisäsimme yhteensä 2 yksinkertaista Python-esimerkkiä nähdäksemme kuinka voimme käyttää Listboxia Python-koodissa Tkinter-kirjaston kautta. Olemme nähneet, kuinka erilaisia ​​widgetejä voidaan käyttää tekemään Tkinter GUI:sta interaktiivisempi, erityisesti Listboxin ja siihen liittyvien painikkeiden luomisessa.