Tkinter Listbox

Tkinter Listbox



Pythoni GUI vaiketööriistakomplekti nimetatakse Tkinteriks. Pythoni ja Tkinteri kombinatsioon muudab GUI-rakenduste arendamise kiireks ja lihtsaks. Tkinter pakub Tk GUI tööriistakomplekti jaoks tõhusat objektorienteeritud lüüsi. Gui liidese loomine Tkinteri abil on lihtne. Selles juhendis näitame teile Tkinteri teegi kasutamist Tkinteri GUI loomiseks ja sellele loendikasti vidina lisamiseks.

Ubuntu 20.04 süsteemiga alustades värskendame oma süsteemi, kasutades terminali kestas mõnda käsku. Käivitame terminalirakenduse klahvikombinatsiooniga Ctrl+Alt+T ja lisame sellele sobiva “update” juhise. Täitmiseks on vaja sisselogitud kasutaja parooli ja see uuendab peale parooli lisamist kogu süsteemi.







Pärast python3 edukat installimist peate installima Python tk utiliidi, et kasutada koodis selle erinevaid vidinaid. Installimiseks proovige terminali päringu piirkonnas järgmist käsku:





Selle utiliidi installimine nõuab enne installimist teie kinnitust. Pärast järgmise küsimuse esitamist vajutage 'y':





Pärast kogu selle utiliidi installimist saame terminaliekraanil vidina 'tk' jaoks järgmise dialoogiboksi. Sellel on kaks nuppu – üks väljumiseks ja teine ​​klõpsamiseks.



Kui klõpsate pidevalt nupul 'Klõpsake mulle!' nuppu, saame selles sisalduva teksti ümber nurksulud. 'Tk' dialoogiekraan muutub laiemaks. Kui puudutate nuppu „Lõpeta
nuppu, suletakse tk-dialoog mis tahes probleemi korral.

Näide 1:

Alustame oma esimest Pythoni näidet, et kuvada programmis Tkinteri loendikasti kasutamine. Selleks loome uue Pythoni faili ja impordime kõik Tkinteri teegi seotud funktsioonid. GUI objekt 't' luuakse koodis funktsiooni 'Tk()' abil. See võimaldab meil luua meie ekraanil GUI peaakna. Funktsiooni geomeetria() kutsutakse välja Tkinteri objekti 't' abil, et luua kindla suurusega ekraan.

Nüüd loome Tkinteri graafilise kasutajaliidese ekraanile tekstitüüpi vidina sildi “l” koos tekstiga vidina märgistamiseks. Pärast seda loome vidina loendikasti, kasutades funktsiooni 'Listbox' parameetrites olevat objekti 't'. Listbox vidinat kasutav funktsioon insert() kutsutakse välja, et lisada loendikasti 5 uut stringi väärtust määratud nummerdamisega tellimuse loomiseks.

Silt “l” pakitakse pärast seda funktsiooni pack() abil. Loendikast on pakitud. Funktsiooni mainloop() kutsutakse välja Tkinteri objekti 't' abil, et luua kasutaja loodud sündmuste põhisilmus. Nii kasutatakse Pythonis Tkinteri mooduli kaudu loendikasti. Programm on nüüd valmis ja kasutamiseks valmis. Salvestame selle faili ja lõpetame selle.

#!/usr/bin/python3
tkinteri impordist *
t = Tk ( )
t.geomeetria ( '200x250' )
l = silt ( t, tekst = 'Minu lemmikvärvid...' )
listbox = Loendikast ( t )
listbox.insert ( 1 , 'valge' )
listbox.insert ( kaks , 'must' )
listbox.insert ( 3 , 'Punane' )
listbox.insert ( 4 , 'Sinine' )
listbox.insert ( 5 , 'Kollane' )
l.pakk ( )
listbox.pack ( )
t.mainloop ( )

Pärast faili sulgemist käivitame terminali uuesti ja loetleme põhikataloogi sisu käsu 'ls' abil. See näitab, et seal on ka äsja värskendatud Pythoni fail. Pythoni faili käivitamiseks kasutame python3.

Täitmisel avaneb meie ekraanil järgmine Tkinteri GUI ekraan pealkirjaga “tk”. Halli värvi alal näete märgistatud teksti. Valgel alal näete loendikasti üksusi, st objekte, mis on loendikasti objektiga Listbox lisatud. Saate GUI Tkinteri ekraani sulgeda, kasutades kõige parempoolses nurgas punaselt antud ristimärki.

Näide 2:

Vaatame Listboxi kasutamist koos mõne muu vidinaga, et muuta see pisut interaktiivseks. Sama Pythoni skripti kasutatakse samas koodifailis väikeste muudatustega mõnel real. Lisame selle koodi reale number 12 uue koodirea. Loome Tkinteri GUI ekraanil nupu “b”, kasutades funktsiooni “Button”, võttes nupusildiks teksti “Kustuta” ja Tkinteri objekti “t”.

Funktsiooni Button() kolmas parameeter sisaldab loendikasti üksuste kustutamiskäsku, kasutades ANCHOR-i, st üksuse valimist ja selle kustutamist nupu abil. Silt, loendikast ja nupp on pakitud. Selle GUI täitmiseks luuakse põhisündmustsükkel.

#!/usr/bin/python3
tkinteri impordist *
t = Tk ( )
t.geomeetria ( '200x250' )
l = silt ( t, tekst = 'Minu lemmikvärvid...' )
listbox = Loendikast ( t )
listbox.insert ( 1 , 'valge' )
listbox.insert ( kaks , 'must' )
listbox.insert ( 3 , 'Punane' )
listbox.insert ( 4 , 'Sinine' )
listbox.insert ( 5 , 'Kollane' )
b = nupp ( t, tekst = 'Kustuta' , käsk = lambda listbox =listbox: listbox.delete ( ANKR ) )
l.pakk ( )
listbox.pack ( )
b.pakk
t.mainloop ( )

Pärast salvestamist käivitame sama faili.

Väljund näitab 5 üksuse loendikasti koos nupuga 'Kustuta'.

Valime loendikasti üksuse 'Sinine' ja vajutage nuppu 'Kustuta'.

Valitud üksus kustutatakse loendikastist.

Nüüd värskendame sama koodi lisafunktsioonide lisamiseks. Seega värskendame kolmandal real GUI akna suurust. 5. koodireal lisame funktsiooni 'showSelected()' definitsiooni. See funktsioon kutsub välja funktsiooni config(), kasutades järgmist objekti, et saada valitud üksuse tekst loendikastist “Lbx”. 15. real kutsub nupp käsuparameetris funktsiooni showSelected().

#!/usr/bin/python3
tkinteri impordist *
t = Tk ( )
t.geomeetria ( '400x300' )
def show Valitud ( ) :
show.config ( tekst =Lbx.get ( ANKR ) )
l = silt ( t, tekst = 'Minu lemmikvärvid...' )
Lbx = loendikast ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'valge' )
Lbx.insert ( kaks , 'must' )
Lbx.insert ( 3 , 'Punane' )
Lbx.insert ( 4 , 'Sinine' )
Lbx.insert ( 5 , 'Kollane' )
Nupp ( t, tekst = 'Kuva valitud', commnd=showSelected).pack()
näita = Silt (t)
näita.pakk
t.mainloop()

Käivitame uuendatud koodi.

Luuakse järgmine loendikasti ekraan nupuga „Kuva valitud”.

Valime loendikasti üksuse 'Valge' ja puudutame nuppu 'Kuva valitud'. Pärast nuppu kuvatakse GUI ekraanil tekst “Valge”.

Järeldus

See kõik puudutab Tkinteri mooduli kasutamist Pythonis. Lisasime kokku 2 lihtsat Pythoni näidet, et näha, kuidas Tkinteri teegi kaudu Pythoni koodis loendikasti kasutada. Oleme näinud, kuidas erinevaid vidinaid saab kasutada Tkinteri GUI interaktiivsemaks muutmiseks, eriti Listboxi ja sellega seotud nuppude loomisel.