Python - Barra di scorrimento di Tkinter
Questo widget fornisce un controller di scorrimento che viene utilizzato per implementare widget a scorrimento verticale, come Listbox, Text e Canvas. Nota che puoi anche creare barre di scorrimento orizzontali sui widget Entry.
Sintassi
Ecco la semplice sintassi per creare questo widget:
w = Scrollbar ( 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 | activebackground Il colore del cursore e delle punte della freccia quando il mouse è sopra di essi. |
2 | bg Il colore del cursore e delle punte della freccia quando il mouse non è sopra di essi. |
3 | bd La larghezza dei bordi 3-d attorno all'intero perimetro della depressione, e anche la larghezza degli effetti 3-d sulle punte delle frecce e sul cursore. L'impostazione predefinita è nessun bordo attorno al trogolo e un bordo di 2 pixel attorno alle punte delle frecce e al cursore. |
4 | command Una procedura da chiamare ogni volta che si sposta la barra di scorrimento. |
5 | cursor Il cursore che appare quando il mouse si trova sulla barra di scorrimento. |
6 | elementborderwidth La larghezza dei bordi attorno alle punte delle frecce e al cursore. L'impostazione predefinita è elementborderwidth = -1, che significa utilizzare il valore dell'opzione borderwidth. |
7 | highlightbackground Il colore dell'evidenziazione dello stato attivo quando la barra di scorrimento non è attiva. |
8 | highlightcolor Il colore dell'evidenziazione dello stato attivo quando la barra di scorrimento ha lo stato attivo. |
9 | highlightthickness Lo spessore dell'evidenziazione del fuoco. L'impostazione predefinita è 1. Impostare su 0 per sopprimere la visualizzazione dell'evidenziazione del fuoco. |
10 | jump Questa opzione controlla cosa succede quando un utente trascina il cursore. Normalmente (jump = 0), ogni piccolo trascinamento del cursore fa chiamare il comando callback. Se si imposta questa opzione su 1, la richiamata non viene chiamata finché l'utente non rilascia il pulsante del mouse. |
11 | orient Impostare orient = HORIZONTAL per una barra di scorrimento orizzontale, orient = VERTICAL per una verticale. |
12 | repeatdelay Questa opzione controlla per quanto tempo il pulsante 1 deve essere tenuto premuto nel canale prima che il cursore inizi a muoversi ripetutamente in quella direzione. Il valore predefinito è repeatdelay = 300 e le unità sono millisecondi. |
13 | repeatinterval repeatinterval |
14 | takefocus Normalmente, puoi selezionare il focus tramite un widget della barra di scorrimento. Imposta takefocus = 0 se non vuoi questo comportamento. |
15 | troughcolor Il colore della depressione. |
16 | width Larghezza della barra di scorrimento (la sua dimensione y se orizzontale e la sua dimensione x se verticale). L'impostazione predefinita è 16. |
Metodi
Gli oggetti della barra di scorrimento hanno questi metodi:
Sr.No. | Metodo e descrizione |
---|---|
1 | get() Restituisce due numeri (a, b) che descrivono la posizione corrente del cursore. Il valore a fornisce la posizione del bordo sinistro o superiore del cursore, rispettivamente per le barre di scorrimento orizzontale e verticale; il valore b fornisce la posizione del bordo destro o inferiore. |
2 | set ( first, last ) Per connettere una barra di scorrimento a un altro widget w, impostare xscrollcommand o yscrollcommand di w sul metodo set () della barra di scorrimento. Gli argomenti hanno lo stesso significato dei valori restituiti dal metodo get (). |
Esempio
Prova tu stesso il seguente esempio:
from Tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
mylist.insert(END, "This is line number " + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
mainloop()
Quando il codice sopra viene eseguito, produce il seguente risultato: