Python 3 - 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 from_ = -1.0 e to = 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 appaiono sotto la scala se orizzontali, a sinistra se verticali. 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
ottenere() Questo metodo restituisce il valore corrente della scala.
valore impostato ) Imposta il valore della scala.

Esempio

Prova tu stesso il seguente esempio:

# !/usr/bin/python3
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()

Risultato

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