Tkinter Listbox

Tkinter Listbox



Ang default na toolkit ng GUI para sa Python ay tinatawag na Tkinter. Ang kumbinasyon ng Python sa Tkinter ay ginagawang mabilis at simple ang pagbuo ng mga GUI app. Isang epektibong object-oriented na gateway para sa Tk GUI toolkit ay ibinigay ng Tkinter. Simple lang na bumuo ng interface ng Gui gamit ang Tkinter. Sa loob ng gabay na ito, ipapakita namin sa iyo ang paggamit ng Tkinter library upang lumikha ng Tkinter GUI at magdagdag ng Listbox widget dito.

Pagsisimula sa Ubuntu 20.04 system, ina-update namin ang aming system gamit ang ilang command sa terminal shell. Inilunsad namin ang terminal na application gamit ang Ctrl+Alt+T at idagdag ang apt “update” na pagtuturo dito. Ang pagpapatupad ay nangangailangan ng password ng naka-log-in na user at ina-update nito ang buong system pagkatapos magdagdag ng isang password.







Pagkatapos ng matagumpay na pag-install ng python3, kailangan mong i-install ang Python tk utility upang magamit ang iba't ibang mga widget nito sa code. Para sa pag-install, subukan ang sumusunod na command sa terminal query area:





Ang pag-install ng utility na ito ay nangangailangan ng iyong paninindigan bago kumpletuhin ang sarili nito. Pindutin ang 'y' pagkatapos tanungin ang sumusunod na tanong:





Pagkatapos ng buong pag-install ng utility na ito, nakukuha namin ang sumusunod na dialog box para sa widget na 'tk' sa terminal screen. Mayroon itong dalawang pindutan - isa para sa pagtigil at isa para sa isang pag-click lamang.



Sa patuloy na pag-click sa 'I-click ako!' button, nakukuha namin ang mga square bracket sa paligid ng text na nilalaman nito. Ang dialogue screen ng 'Tk' ay lumalawak ang lapad. Sa pag-tap sa 'Quit
button, ang tk dialogue ay sarado sa anumang isyu.

Halimbawa 1:

Sinimulan namin ang aming unang halimbawa ng Python upang ipakita ang paggamit ng Tkinter Listbox sa programa. Para dito, gumawa kami ng bagong Python file at ini-import ang lahat ng nauugnay na function ng 'Tkinter' library. Ang GUI object na 't' ay nilikha sa code gamit ang function na 'Tk()'. Nagbibigay-daan ito sa amin na lumikha ng pangunahing window ng GUI sa aming screen. Ang geometry() function ay tinatawag gamit ang object na 't' ng Tkinter upang lumikha ng screen ng isang partikular na laki.

Ngayon, lumikha kami ng isang widget label na 'l' ng uri ng teksto sa Tkinter GUI screen na may ilang teksto upang lagyan ng label ang widget. Pagkatapos nito, gumawa kami ng widget Listbox gamit ang object na 't' sa mga parameter ng isang function na 'Listbox'. Ang insert() function na gamit ang Listbox widget ay tinatawag upang magdagdag ng 5 bagong string value sa Listbox na may tinukoy na pagnunumero upang lumikha ng isang order.

Ang label na 'l' ay naka-pack pagkatapos nito gamit ang pack() function. Naka-pack na ang Listbox. Ang mainloop() function ay tinatawag gamit ang 't' object ng Tkinter upang lumikha ng isang pangunahing loop ng mga kaganapan na nilikha ng isang user. Ito ay kung paano ginagamit ang isang Listbox sa Python sa pamamagitan ng Tkinter module. Ang programa ay kumpleto na at handa nang gamitin. I-save natin ito sa file at itigil ito.

#!/usr/bin/python3
mula sa tkinter import *
t = Tk ( )
t.geometry ( '200x250' )
l = label ( t, teksto = 'Ang mga paborito kong kulay...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Puti' )
listbox.insert ( dalawa , 'Itim' )
listbox.insert ( 3 , 'Pula' )
listbox.insert ( 4 , 'Bughaw' )
listbox.insert ( 5 , 'Dilaw' )
l.pack ( )
listbox.pack ( )
t.mainloop ( )

Pagkatapos isara ang file, inilunsad namin muli ang terminal at ilista ang mga pangunahing nilalaman ng direktoryo sa pamamagitan ng pagtuturo ng 'ls'. Ipinapakita nito na ang bagong na-update na Python file ay naroon din. Ginagamit namin ang python3 upang maisagawa ang Python file.

Sa pagpapatupad, ang sumusunod na GUI screen ng Tkinter ay binuksan sa aming screen na may pamagat na 'tk'. Sa loob ng lugar na kulay abo, makikita mo ang may label na text. Sa puting lugar, makikita mo ang mga item ng Listbox, ibig sabihin, mga item na idinagdag sa Listbox gamit ang bagay na Listbox. Maaari mong isara ang screen ng GUI Tkinter gamit ang cross sign na ibinigay sa pinakakanang sulok na kulay pula.

Halimbawa 2:

Tingnan natin ang paggamit ng Listbox kasama ng ilang iba pang mga widget upang gawin itong medyo interactive. Ang parehong script ng Python ay ginagamit sa parehong code file na may maliliit na pagbabago sa ilang linya. Nagdagdag kami ng bagong linya ng code sa linya numero 12 ng code na ito. Gumagawa kami ng button na 'b' sa screen ng Tkinter GUI gamit ang function na 'Button' na kumukuha ng text na 'Delete' bilang isang button na label at Tkinter object na 't'.

Ang ikatlong parameter ng Button() function ay naglalaman ng utos sa pagtanggal para sa mga item sa Listbox gamit ang ANCHOR, ibig sabihin, pagpili ng isang item at pagtanggal nito gamit ang button. Naka-pack ang label, Listbox, at button. Ang pangunahing loop ng kaganapan ay nilikha para sa pagpapatupad ng GUI na ito.

#!/usr/bin/python3
mula sa tkinter import *
t = Tk ( )
t.geometry ( '200x250' )
l = label ( t, teksto = 'Paborito kong kulay...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Puti' )
listbox.insert ( dalawa , 'Itim' )
listbox.insert ( 3 , 'Pula' )
listbox.insert ( 4 , 'Bughaw' )
listbox.insert ( 5 , 'Dilaw' )
b = Pindutan ( t, teksto = 'Tanggalin' , commnd = lambda kahon ng listahan =listbox: listbox.delete ( ANCHOR ) )
l.pack ( )
listbox.pack ( )
b.pack
t.mainloop ( )

Isinasagawa namin ang parehong file pagkatapos i-save ito.

Ipinapakita ng output ang Listbox ng 5 item kasama ang isang 'Delete' na button.

Pinipili namin ang item na 'Blue' Listbox at pinindot ang pindutang 'Tanggalin'.

Ang napiling item ay tinanggal mula sa Listbox.

Ngayon, ina-update namin ang parehong code para magdagdag ng karagdagang functionality. Kaya, sa ika-3 linya, ina-update namin ang laki ng isang window ng GUI. Sa ika-5 linya ng code, nagdaragdag kami ng kahulugan para sa function na 'showSelected()'. Tinatawag ng function na ito ang config() function gamit ang sumusunod na object para makuha ang napiling item text mula sa Listbox na “Lbx”. Sa linya 15, tinatawag ng button ang showSelected() function sa parameter ng command nito.

#!/usr/bin/python3
mula sa tkinter import *
t = Tk ( )
t.geometry ( '400x300' )
def showSelected ( ) :
show.config ( text =Lbx.get ( ANCHOR ) )
l = label ( t, teksto = 'Paborito kong kulay...' )
Lbx = Listbox ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Puti' )
Lbx.insert ( dalawa , 'Itim' )
Lbx.insert ( 3 , 'Pula' )
Lbx.insert ( 4 , 'Bughaw' )
Lbx.insert ( 5 , 'Dilaw' )
Pindutan ( t, teksto = 'Show Selected', commnd=showSelected).pack()
ipakita = Label(t)
palabas.pack
t.mainloop()

Isinasagawa namin ang na-update na code.

Ang sumusunod na screen ng Listbox na may 'Show Selected' na buton ay nilikha.

Pinipili namin ang item ng Listbox na 'Puti' at i-tap ang pindutang 'Ipakita ang Napili'. Ang 'Puti' na teksto ay ipinapakita sa GUI screen pagkatapos ng pindutan.

Konklusyon

Iyon lang ang tungkol sa paggamit ng Tkinter module sa Python. Nagdagdag kami ng kabuuang 2 simpleng halimbawa ng Python para makita kung paano namin magagamit ang Listbox sa Python code sa pamamagitan ng library ng Tkinter. Nakita namin kung paano magagamit ang iba't ibang mga widget upang gawing mas interactive ang Tkinter GUI, lalo na ang paglikha ng Listbox at mga kaugnay na button.