Python - Scala Tkinter
Il widget Scala fornisce un oggetto cursore grafico che consente di selezionare i valori da una scala specifica.
Sintassi
Ecco la semplice sintassi per creare questo widget:
w = Scale ( 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 di sfondo quando il mouse si trova sulla scala. |
2 | bg Il colore di sfondo delle parti del widget che si trovano all'esterno del trogolo. |
3 | bd Larghezza del bordo 3-d attorno al trogolo e al cursore. L'impostazione predefinita è 2 pixel. |
4 | command Una procedura da chiamare ogni volta che si sposta lo slider. A questa procedura verrà passato un argomento, il nuovo valore di scala. Se il cursore viene spostato rapidamente, potresti non ricevere una richiamata per ogni posizione possibile, ma riceverai sicuramente una richiamata quando si stabilizza. |
5 | cursor Se si imposta questa opzione su un nome di cursore ( freccia, punto ecc. ), Il cursore del mouse cambierà in quel modello quando si trova sopra la scala. |
6 | digits Il modo in cui il programma legge il valore corrente mostrato in un widget di scala avviene tramite una variabile di controllo. La variabile di controllo per una scala può essere IntVar, DoubleVar (float) o StringVar. Se si tratta di una variabile stringa, l'opzione cifre controlla quante cifre utilizzare quando il valore della scala numerica viene convertito in una stringa. |
7 | font Il carattere utilizzato per l'etichetta e le annotazioni. |
8 | fg Il colore del testo utilizzato per l'etichetta e le annotazioni. |
9 | from_ Un valore float o intero che definisce un'estremità dell'intervallo della scala. |
10 | highlightbackground Il colore della messa a fuoco viene evidenziata quando la scala non ha la messa a fuoco. |
11 | highlightcolor Il colore dell'evidenziazione del fuoco quando la scala ha il fuoco. |
12 | label È possibile visualizzare un'etichetta all'interno del widget della scala impostando questa opzione sul testo dell'etichetta. L'etichetta viene visualizzata nell'angolo in alto a sinistra se la scala è orizzontale o nell'angolo in alto a destra se verticale. L'impostazione predefinita è nessuna etichetta. |
13 | length La lunghezza del widget della scala. Questa è la dimensione x se la scala è orizzontale o la dimensione y se verticale. L'impostazione predefinita è 100 pixel. |
14 | orient Impostare orient = HORIZONTAL se si desidera che la scala corra lungo la dimensione x, oppure orient = VERTICAL per eseguire parallelamente all'asse y. L'impostazione predefinita è orizzontale. |
15 | relief Specifica l'aspetto di un bordo decorativo attorno all'etichetta. L'impostazione predefinita è FLAT; per altri valori. |
16 | 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. |
17 | resolution Normalmente, l'utente potrà modificare la scala solo in unità intere. Impostare questa opzione su un altro valore per modificare il più piccolo incremento del valore della scala. Ad esempio, se da _ = - 1.0 e a = 1.0, e si imposta la risoluzione = 0,5, la scala avrà 5 possibili valori: -1,0, -0,5, 0,0, +0,5 e +1,0. |
18 | showvalue Normalmente, il valore corrente della scala viene visualizzato in forma di testo dal cursore (sopra di esso per le scale orizzontali, a sinistra per le scale verticali). Imposta questa opzione su 0 per sopprimere l'etichetta. |
19 | sliderlength Normalmente il cursore è di 30 pixel lungo la lunghezza della scala. È possibile modificare tale lunghezza impostando l'opzione sliderlength sulla lunghezza desiderata. |
20 | state Normalmente, i widget di scala rispondono agli eventi del mouse e, quando hanno il focus, anche agli eventi della tastiera. Impostare state = DISABLED per rendere il widget non risponde. |
21 | takefocus Normalmente, il focus passa attraverso i widget di scala. Imposta questa opzione su 0 se non vuoi questo comportamento. |
22 | tickinterval Per visualizzare i valori di scala periodici, impostare questa opzione su un numero e i segni di spunta verranno visualizzati sui multipli di quel valore. Ad esempio, se from_ = 0.0, to = 1.0 e tickinterval = 0.25, le etichette verranno visualizzate lungo la scala ai valori 0.0, 0.25, 0.50, 0.75 e 1.00. Queste etichette vengono visualizzate sotto la scala se orizzontale, a sinistra se verticale. Il valore predefinito è 0, che sopprime la visualizzazione dei segni di graduazione. |
23 | to Un valore float o intero che definisce un'estremità dell'intervallo della scala; l'altra estremità è definita dall'opzione from_, discussa sopra. Il valore to può essere maggiore o minore del valore from_. Per le scale verticali, il valore to definisce il fondo della scala; per le scale orizzontali, l'estremità destra. |
24 | troughcolor Il colore della depressione. |
25 | variable La variabile di controllo per questa scala, se presente. Le variabili di controllo possono provenire dalla classe IntVar, DoubleVar (float) o StringVar. In quest'ultimo caso, il valore numerico verrà convertito in una stringa. |
26 | width La larghezza della parte di depressione del widget. Questa è la dimensione x per le scale verticali e la dimensione y se la scala ha orient = HORIZONTAL. L'impostazione predefinita è 15 pixel. |
Metodi
Gli oggetti in scala hanno questi metodi:
Sr.No. | Metodo e descrizione |
---|---|
1 | get() Questo metodo restituisce il valore corrente della scala. |
2 | set ( value ) Imposta il valore della scala. |
Esempio
Prova tu stesso il seguente esempio:
from Tkinter import *
def sel():
selection = "Value = " + str(var.get())
label.config(text = selection)
root = Tk()
var = DoubleVar()
scale = Scale( root, variable = var )
scale.pack(anchor=CENTER)
button = Button(root, text="Get Scale Value", command=sel)
button.pack(anchor=CENTER)
label = Label(root)
label.pack()
root.mainloop()
Quando il codice sopra viene eseguito, produce il seguente risultato: