Python - Tkinter Listbox

Il widget Listbox viene utilizzato per visualizzare un elenco di elementi da cui un utente può selezionare un numero di elementi.

Sintassi

Ecco la semplice sintassi per creare questo widget:

w = Listbox ( master, option, ... )

Parametri

  • master - Questo rappresenta la finestra principale.

  • options- Ecco l'elenco delle opzioni più comunemente utilizzate per questo widget. Queste opzioni possono essere utilizzate come coppie chiave-valore separate da virgole.

Sr.No. Opzione e descrizione
1

bg

Il colore di sfondo normale visualizzato dietro l'etichetta e l'indicatore.

2

bd

La dimensione del bordo attorno all'indicatore. L'impostazione predefinita è 2 pixel.

3

cursor

Il cursore che appare quando il mouse si trova sopra la casella di riepilogo.

4

font

Il carattere utilizzato per il testo nella casella di riepilogo.

5

fg

Il colore utilizzato per il testo nella casella di riepilogo.

6

height

Numero di righe (non pixel!) Mostrato nella casella di riepilogo. L'impostazione predefinita è 10.

7

highlightcolor

Colore mostrato nell'evidenziazione dello stato attivo quando il widget è attivo.

8

highlightthickness

Spessore dell'evidenziazione del fuoco.

9

relief

Seleziona gli effetti di ombreggiatura dei bordi tridimensionali. L'impostazione predefinita è SUNKEN.

10

selectbackground

Il colore di sfondo da utilizzare per visualizzare il testo selezionato.

11

selectmode

Determina quanti elementi possono essere selezionati e in che modo i trascinamenti del mouse influenzano la selezione -

  • BROWSE- Normalmente, è possibile selezionare solo una riga da una casella di riepilogo. Se fai clic su un elemento e quindi trascini su una riga diversa, la selezione seguirà il mouse. Questa è l'impostazione predefinita.
  • SINGLE - È possibile selezionare solo una riga e non è possibile trascinare il mouse. Ovunque si faccia clic sul pulsante 1, quella riga è selezionata.
  • MULTIPLE- È possibile selezionare un numero qualsiasi di righe contemporaneamente. Facendo clic su qualsiasi riga si attiva o meno la selezione.
  • EXTENDED - È possibile selezionare qualsiasi gruppo di linee adiacenti contemporaneamente facendo clic sulla prima riga e trascinando fino all'ultima riga.
12

width

La larghezza del widget in caratteri. L'impostazione predefinita è 20.

13

xscrollcommand

Se si desidera consentire all'utente di scorrere la casella di riepilogo in orizzontale, è possibile collegare il widget della casella di riepilogo a una barra di scorrimento orizzontale.

14

yscrollcommand

Se si desidera consentire all'utente di scorrere verticalmente la casella di riepilogo, è possibile collegare il widget della casella di riepilogo a una barra di scorrimento verticale.

Metodi

I metodi sugli oggetti listbox includono:

Sr.No. Opzione e descrizione
1

activate ( index )

Seleziona la riga specificata dall'indice specificato.

2

curselection()

Restituisce una tupla contenente i numeri di riga dell'elemento o degli elementi selezionati, contando da 0. Se non è selezionato nulla, restituisce una tupla vuota.

3

delete ( first, last=None )

Elimina le righe i cui indici si trovano nell'intervallo [first, last]. Se il secondo argomento viene omesso, la singola riga con l'indice per prima viene eliminata.

4

get ( first, last=None )

Restituisce una tupla contenente il testo delle righe con indici dal primo all'ultimo, inclusi. Se il secondo argomento viene omesso, restituisce il testo della riga più vicina alla prima.

5

index ( i )

Se possibile, posiziona la parte visibile della casella di riepilogo in modo che la riga contenente l'indice i si trovi nella parte superiore del widget.

6

insert ( index, *elements )

Inserire una o più nuove righe nella casella di riepilogo prima della riga specificata da index. Usa FINE come primo argomento se vuoi aggiungere nuove righe alla fine della casella di riepilogo.

7

nearest ( y )

Restituisce l'indice della linea visibile più vicina alla coordinata y relativa al widget della casella di riepilogo.

8

see ( index )

Regolare la posizione della casella di riepilogo in modo che la riga a cui fa riferimento l'indice sia visibile.

9

size()

Restituisce il numero di righe nella casella di riepilogo.

10

xview()

Per rendere la casella di riepilogo scorrevole orizzontalmente, impostare l'opzione di comando della barra di scorrimento orizzontale associata su questo metodo.

11

xview_moveto ( fraction )

Scorri la casella di riepilogo in modo che la frazione più a sinistra della larghezza della sua riga più lunga si trovi all'esterno del lato sinistro della casella di riepilogo. La frazione è nell'intervallo [0,1].

12

xview_scroll ( number, what )

Scorre la casella di riepilogo in orizzontale. Per l'argomento cosa, utilizzare UNITÀ per scorrere i caratteri o PAGINE per scorrere le pagine, ovvero la larghezza della casella di riepilogo. L'argomento numero indica quanti far scorrere.

13

yview()

Per rendere la casella di riepilogo scorrevole verticalmente, impostare l'opzione di comando della barra di scorrimento verticale associata su questo metodo.

14

yview_moveto ( fraction )

Scorri la casella di riepilogo in modo che la parte superiore della larghezza della riga più lunga si trovi all'esterno del lato sinistro della casella di riepilogo. La frazione è nell'intervallo [0,1].

15

yview_scroll ( number, what )

Scorre verticalmente la casella di riepilogo. Per l'argomento what, utilizzare UNITS per scorrere le righe o PAGES per scorrere le pagine, ovvero l'altezza della casella di riepilogo. L'argomento numero indica quanti far scorrere.

Esempio

Prova tu stesso il seguente esempio:

from Tkinter import *
import tkMessageBox
import Tkinter

top = Tk()

Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")

Lb1.pack()
top.mainloop()

Quando il codice sopra viene eseguito, produce il seguente risultato: