Tkinter Listbox

Tkinter Listbox

Python noklusējuma GUI rīkkopa tiek saukta par Tkinter. Python un Tkinter kombinācija ļauj ātri un vienkārši izstrādāt GUI lietotnes. Tkinter nodrošina efektīvu objektu orientētu vārteju Tk GUI rīkkopai. Ir vienkārši izveidot Gui saskarni, izmantojot Tkinter. Šajā rokasgrāmatā mēs parādīsim, kā izmantot Tkinter bibliotēku, lai izveidotu Tkinter GUI un pievienotu tai Listbox logrīku.

Sākot darbu ar Ubuntu 20.04 sistēmu, mēs atjauninām savu sistēmu, izmantojot dažas komandas termināļa apvalkā. Mēs palaižam termināļa lietojumprogrammu, nospiežot taustiņu kombināciju Ctrl+Alt+T, un pievienojam tai atbilstošo “atjaunināšanas” instrukciju. Izpildei ir nepieciešama pieteikusies lietotāja parole un pēc paroles pievienošanas tiek atjaunināta visa sistēma.







Pēc veiksmīgas python3 instalēšanas jums ir jāinstalē Python tk utilīta, lai kodā izmantotu dažādus tās logrīkus. Lai instalētu, termināļa vaicājuma apgabalā izmēģiniet šo komandu:





Pirms šīs utilītas instalēšanas ir nepieciešams jūsu apstiprinājums. Nospiediet “y” pēc tam, kad tiek uzdots šāds jautājums:





Pēc visas šīs utilītas instalēšanas termināļa ekrānā tiek parādīts šāds logrīka “tk” dialoglodziņš. Tam ir divas pogas – viena, lai izietu, un viena, lai noklikšķinātu.



Nepārtraukti noklikšķinot uz pogas “Noklikšķināt uz manis!” pogu, mēs iegūstam kvadrātiekavas ap tajā ietverto tekstu. “Tk” dialoga ekrāns kļūst lielāks. Pieskaroties pogai “Iziet
pogu, tk dialogs tiek aizvērts ar jebkuru problēmu.

1. piemērs:

Mēs sākam savu pirmo Python piemēru, lai parādītu Tkinter Listbox izmantošanu programmā. Šim nolūkam mēs izveidojam jaunu Python failu un importējam visas saistītās “Tkinter” bibliotēkas funkcijas. GUI objekts “t” tiek izveidots kodā, izmantojot funkciju “Tk()”. Tas ļauj mums izveidot galveno GUI logu mūsu ekrānā. Funkcija ģeometrija () tiek izsaukta, izmantojot Tkintera objektu “t”, lai izveidotu noteikta izmēra ekrānu.

Tagad mēs Tkinter GUI ekrānā izveidojam teksta tipa logrīka etiķeti “l” ar tekstu logrīka apzīmēšanai. Pēc tam mēs izveidojam logrīku Listbox, izmantojot “t” objektu funkcijas “Listbox” parametros. Funkcija insert(), izmantojot Listbox logrīku, tiek izsaukta, lai sarakstlodziņā pievienotu 5 jaunas virknes vērtības ar norādīto numerāciju, lai izveidotu pasūtījumu.

Pēc tam etiķete “l” tiek iesaiņota, izmantojot funkciju pack(). Listbox ir iesaiņots. Funkcija mainloop () tiek izsaukta, izmantojot Tkinter objektu “t”, lai izveidotu lietotāja izveidoto notikumu pamata cilpu. Tādā veidā Python tiek izmantots sarakstlodziņš, izmantojot moduli Tkinter. Programma tagad ir pabeigta un gatava lietošanai. Saglabāsim to failā un aizveram to.

#!/usr/bin/python3
no tkinter importa *
t = Tk ( )
t.ģeometrija ( '200x250' )
l = etiķete ( t, teksts = 'Manas mīļākās krāsas...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Balts' )
listbox.insert ( divi , 'Melns' )
listbox.insert ( 3 , 'Sarkans' )
listbox.insert ( 4 , 'Zils' )
listbox.insert ( 5 , 'Dzeltens' )
l.pack ( )
listbox.pack ( )
t.mainloop ( )

Pēc faila aizvēršanas mēs vēlreiz palaižam termināli un uzskaitām galvenā direktorija saturu, izmantojot “ls” instrukciju. Tas parāda, ka tur ir arī nesen atjauninātais Python fails. Mēs izmantojam python3, lai izpildītu Python failu.

Pēc izpildes mūsu ekrānā tiek atvērts šāds Tkinter GUI ekrāns ar nosaukumu “tk”. Pelēkās krāsas apgabalā ir redzams teksts ar etiķeti. Baltajā apgabalā varat redzēt Listbox vienumus, t.i., vienumus, kas pievienoti Listbox, izmantojot Listbox objektu. Varat aizvērt GUI Tkinter ekrānu, izmantojot krusta zīmi, kas norādīta pašā labajā stūrī sarkanā krāsā.

2. piemērs:

Apskatīsim Listbox izmantošanu kopā ar dažiem citiem logrīkiem, lai padarītu to nedaudz interaktīvu. Tas pats Python skripts tiek izmantots tajā pašā koda failā ar nelielām izmaiņām dažās rindās. Mēs pievienojam jaunu koda rindiņu šī koda 12. rindiņai. Mēs izveidojam pogu 'b' Tkinter GUI ekrānā, izmantojot funkciju 'Button', izmantojot tekstu 'Dzēst' kā pogas etiķeti un Tkinter objektu 't'.

Trešais funkcijas Button() parametrs satur Listbox vienumu dzēšanas komandu, izmantojot ANCHOR, t.i., atlasot vienumu un dzēšot to, izmantojot pogu. Etiķete, sarakstlodziņš un poga ir iesaiņoti. Galvenā notikumu cilpa ir izveidota šīs GUI izpildei.

#!/usr/bin/python3
no tkinter importa *
t = Tk ( )
t.ģeometrija ( '200x250' )
l = etiķete ( t, teksts = 'Manas mīļākās krāsas...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Balts' )
listbox.insert ( divi , 'Melns' )
listbox.insert ( 3 , 'Sarkans' )
listbox.insert ( 4 , 'Zils' )
listbox.insert ( 5 , 'Dzeltens' )
b = poga ( t, teksts = 'Dzēst' , commnd = lambda sarakstlodziņš =listbox: listbox.delete ( ENKURS ) )
l.pack ( )
listbox.pack ( )
b.pack
t.mainloop ( )

Mēs izpildām to pašu failu pēc tā saglabāšanas.

Izvadē tiek parādīts 5 vienumu sarakstlodziņš kopā ar pogu “Dzēst”.

Mēs izvēlamies sarakstlodziņa vienumu “Zilais” un nospiežam pogu “Dzēst”.

Atlasītais vienums tiek izdzēsts no sarakstlodziņa.

Tagad mēs atjauninām to pašu kodu, lai pievienotu papildu funkcionalitāti. Tātad 3. rindā mēs atjauninām GUI loga izmēru. 5. koda rindā mēs pievienojam funkcijas “showSelected()” definīciju. Šī funkcija izsauc funkciju config(), izmantojot šādu objektu, lai iegūtu atlasītā vienuma tekstu no sarakstlodziņa “Lbx”. 15. rindā poga komandas parametrā izsauc funkciju showSelected().

#!/usr/bin/python3
no tkinter importa *
t = Tk ( )
t.ģeometrija ( '400x300' )
def show Selected ( ) :
show.config ( tekstu =Lbx.get ( ENKURS ) )
l = etiķete ( t, teksts = 'Manas mīļākās krāsas...' )
Lbx = sarakstlodziņš ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Balts' )
Lbx.insert ( divi , 'Melns' )
Lbx.insert ( 3 , 'Sarkans' )
Lbx.insert ( 4 , 'Zils' )
Lbx.insert ( 5 , 'Dzeltens' )
Poga ( t, teksts = 'Rādīt atlasītos', commnd=showSelected).pack()
rādīt = etiķete (t)
parādīt.paka
t.mainloop()

Mēs izpildām atjaunināto kodu.

Tiek izveidots šāds Listbox ekrāns ar pogu “Rādīt atlasītos”.

Mēs izvēlamies sarakstlodziņa vienumu “Balts” un pieskarieties pogai “Rādīt atlasītos”. GUI ekrānā pēc pogas tiek parādīts teksts “Baltais”.

Secinājums

Tas viss attiecas uz Tkinter moduļa izmantošanu Python. Mēs pievienojām pavisam 2 vienkāršus Python piemērus, lai redzētu, kā mēs varam izmantot Listbox Python kodā, izmantojot Tkinter bibliotēku. Mēs esam redzējuši, kā dažādus logrīkus var izmantot, lai padarītu Tkinter GUI interaktīvāku, jo īpaši Listbox un saistīto pogu izveidi.