Tkinter Listbox

Tkinter Listbox



De standaard GUI-toolkit voor Python heet Tkinter. De combinatie van Python met Tkinter maakt het snel en eenvoudig om de GUI-apps te ontwikkelen. Een effectieve objectgeoriënteerde gateway voor de Tk GUI-toolkit wordt geleverd door Tkinter. Het is eenvoudig om een ​​Gui-interface te bouwen met behulp van de Tkinter. In deze handleiding laten we u het gebruik van de Tkinter-bibliotheek zien om een ​​Tkinter-GUI te maken en er een Listbox-widget aan toe te voegen.

Aan de slag met het Ubuntu 20.04-systeem, werken we ons systeem bij met behulp van enkele opdrachten in de terminal-shell. We starten de terminaltoepassing met de Ctrl+Alt+T en voegen de apt 'update' -instructie eraan toe. De uitvoering vereist het wachtwoord van de ingelogde gebruiker en het werkt het hele systeem bij na toevoeging van een wachtwoord.







Na de succesvolle installatie van python3, moet je het Python tk-hulpprogramma installeren om de verschillende widgets in de code te gebruiken. Probeer voor de installatie de volgende opdracht in het gebied met terminalquery's:





De installatie van dit hulpprogramma vereist uw bevestiging voordat het zichzelf voltooit. Druk op 'y' nadat de volgende vraag is gesteld:





Na de hele installatie van dit hulpprogramma krijgen we het volgende dialoogvenster voor de 'tk'-widget op het terminalscherm. Het heeft twee knoppen - een om te stoppen en een voor slechts een klik.



Door continu op de knop 'Klik op mij!' knop, krijgen we de vierkante haken rond de tekst die het bevat. Het dialoogscherm van “Tk” wordt groter in breedte. Nadat u op de knop 'Afsluiten' hebt getikt
knop, wordt de tk-dialoog bij elk probleem gesloten.

Voorbeeld 1:

We beginnen ons eerste Python-voorbeeld om het gebruik van de Tkinter Listbox in het programma weer te geven. Hiervoor maken we een nieuw Python-bestand en importeren we alle gerelateerde functies van de 'Tkinter' -bibliotheek. Het GUI-object 't' wordt in de code gemaakt met behulp van de functie 'Tk()'. Hiermee kunnen we het hoofd-GUI-venster op ons scherm maken. De functie geometrie() wordt aangeroepen met behulp van het object 't' van Tkinter om een ​​scherm van een specifieke grootte te maken.

Nu maken we een widgetlabel 'l' van het teksttype op het Tkinter GUI-scherm met wat tekst om de widget te labelen. Hierna maken we een widget Listbox met behulp van het 't' -object in de parameters van een 'Listbox' -functie. De functie insert() die de Listbox-widget gebruikt, wordt aangeroepen om 5 nieuwe tekenreekswaarden toe te voegen aan de Listbox met de opgegeven nummering om een ​​bestelling te maken.

Het label 'l' wordt daarna ingepakt met de functie pack(). De Listbox zit bomvol. De functie mainloop() wordt aangeroepen met het object 't' van Tkinter om een ​​basislus van gebeurtenissen te maken die door een gebruiker zijn gemaakt. Dit is hoe een Listbox wordt gebruikt in Python via de Tkinter-module. Het programma is nu compleet en klaar voor gebruik. Laten we het in het bestand opslaan en afsluiten.

#!/usr/bin/python3
van tkinter import *
t = Tk ( )
t.geometrie ( '200x250' )
l = label ( t, tekst = 'Mijn favoriete kleuren...' )
listbox = listbox ( t )
listbox.insert ( 1 , 'Wit' )
listbox.insert ( twee , 'Zwart' )
listbox.insert ( 3 , 'Rood' )
listbox.insert ( 4 , 'Blauw' )
listbox.insert ( 5 , 'Geel' )
l.pak ( )
listbox.pack ( )
t.mainloop ( )

Nadat we het bestand hebben gesloten, starten we de terminal opnieuw en geven we de inhoud van de hoofdmap weer via de instructie 'ls'. Het laat zien dat het onlangs bijgewerkte Python-bestand er ook is. We gebruiken python3 om het Python-bestand uit te voeren.

Na uitvoering wordt het volgende GUI-scherm van Tkinter op ons scherm geopend met de titel 'tk'. Binnen het grijsgekleurde gebied ziet u de gelabelde tekst. In het witte gebied ziet u de Listbox-items, d.w.z. items die aan de Listbox zijn toegevoegd met behulp van het Listbox-object. U kunt het GUI Tkinter-scherm sluiten met het kruisteken in de meest rechtse hoek in rood.

Voorbeeld 2:

Laten we eens kijken naar het gebruik van Listbox samen met enkele andere widgets om het een beetje interactief te maken. Hetzelfde Python-script wordt gebruikt in hetzelfde codebestand met kleine wijzigingen op sommige regels. We voegen een nieuwe coderegel toe op regel 12 van deze code. We maken een knop 'b' in het Tkinter GUI-scherm met behulp van de 'Knop' -functie waarbij de tekst 'Verwijderen' wordt gebruikt als een knoplabel en Tkinter-object 't'.

De derde parameter van de functie Button() bevat het verwijdercommando voor Listbox-items met ANCHOR, d.w.z. een item selecteren en verwijderen met de knop. Het label, de lijst en de knop zijn verpakt. De hoofdgebeurtenislus wordt gemaakt voor de uitvoering van deze GUI.

#!/usr/bin/python3
van tkinter import *
t = Tk ( )
t.geometrie ( '200x250' )
l = label ( t, tekst = 'Mijn favoriete kleuren...' )
listbox = listbox ( t )
listbox.insert ( 1 , 'Wit' )
listbox.insert ( twee , 'Zwart' )
listbox.insert ( 3 , 'Rood' )
listbox.insert ( 4 , 'Blauw' )
listbox.insert ( 5 , 'Geel' )
b = Knop ( t, tekst = 'Verwijderen' , commando = lambda keuzelijst =listbox: listbox.delete ( ANKER ) )
l.pak ( )
listbox.pack ( )
b.pak
t.mainloop ( )

We voeren hetzelfde bestand uit nadat we het hebben opgeslagen.

De uitvoer toont de lijst met 5 items samen met een knop 'Verwijderen'.

We selecteren het item 'Blauwe' Listbox en drukken op de knop 'Verwijderen'.

Het geselecteerde item wordt verwijderd uit de Listbox.

Nu werken we dezelfde code bij om een ​​extra functionaliteit toe te voegen. Dus op de 3e regel werken we de grootte van een GUI-venster bij. In de 5e regel code voegen we een definitie toe voor de functie 'showSelected()'. Deze functie roept de functie config() aan met behulp van het volgende object om de geselecteerde itemtekst uit de keuzelijst 'Lbx' te halen. Op regel 15 roept de knop de functie showSelected() aan in zijn opdrachtparameter.

#!/usr/bin/python3
van tkinter import *
t = Tk ( )
t.geometrie ( '400x300' )
def showSelected ( ) :
show.config ( tekst =Lbx.get ( ANKER ) )
l = label ( t, tekst = 'Mijn favoriete kleuren...' )
Lbx = Lijstvak ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Wit' )
Lbx.insert ( twee , 'Zwart' )
Lbx.insert ( 3 , 'Rood' )
Lbx.insert ( 4 , 'Blauw' )
Lbx.insert ( 5 , 'Geel' )
Knop ( t, tekst = 'Geselecteerde tonen', commnd=showSelected).pack()
toon = Label(t)
show.pack
t.mainloop()

We voeren de bijgewerkte code uit.

Het volgende scherm van Listbox met de knop 'Show Selected' wordt gemaakt.

We selecteren het Listbox-item 'Wit' en tikken op de knop 'Geselecteerde weergeven'. De tekst 'Wit' wordt weergegeven op het GUI-scherm na de knop.

Conclusie

Dat is alles over het gebruik van de Tkinter-module in Python. We hebben in totaal 2 eenvoudige Python-voorbeelden toegevoegd om te zien hoe we de Listbox in de Python-code kunnen gebruiken via de Tkinter-bibliotheek. We hebben gezien hoe de verschillende widgets kunnen worden gebruikt om de Tkinter GUI interactiever te maken, met name het maken van Listbox en gerelateerde knoppen.