Python 3 - Escala de Tkinter

El widget Escala proporciona un objeto deslizante gráfico que le permite seleccionar valores de una escala específica.

Sintaxis

Aquí está la sintaxis simple para crear este widget:

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

Parámetros

  • master - Esto representa la ventana principal.

  • options- Aquí está la lista de opciones más utilizadas para este widget. Estas opciones se pueden utilizar como pares clave-valor separados por comas.

No Señor. Opción y descripción
1

activebackground

El color de fondo cuando el mouse está sobre la escala.

2

bg

El color de fondo de las partes del widget que están fuera del canal.

3

bd

Ancho del borde 3-d alrededor del canal y el control deslizante. El valor predeterminado es 2 píxeles.

4

command

Un procedimiento que se llamará cada vez que se mueva el control deslizante. A este procedimiento se le pasará un argumento, el nuevo valor de escala. Si el control deslizante se mueve rápidamente, es posible que no reciba una devolución de llamada para cada posición posible, pero ciertamente recibirá una devolución de llamada cuando se establezca.

5

cursor

Si establece esta opción en un nombre de cursor ( flecha, punto, etc. ), el cursor del mouse cambiará a ese patrón cuando esté sobre la escala.

6

digits

La forma en que su programa lee el valor actual que se muestra en un widget de escala es a través de una variable de control. La variable de control de una escala puede ser IntVar, DoubleVar (flotante) o StringVar. Si es una variable de cadena, la opción de dígitos controla cuántos dígitos se utilizarán cuando el valor de la escala numérica se convierta en una cadena.

7

font

La fuente utilizada para la etiqueta y las anotaciones.

8

fg

El color del texto utilizado para la etiqueta y las anotaciones.

9

from_

Un valor entero o flotante que define un extremo del rango de la escala.

10

highlightbackground

El color del resaltado del foco cuando la escala no tiene foco.

11

highlightcolor

El color del resaltado del foco cuando la escala tiene el foco.

12

label

Puede mostrar una etiqueta dentro del widget de escala configurando esta opción en el texto de la etiqueta. La etiqueta aparece en la esquina superior izquierda si la escala es horizontal, o en la esquina superior derecha si es vertical. El valor predeterminado es sin etiqueta.

13

length

La longitud del widget de escala. Esta es la dimensión x si la escala es horizontal, o la dimensión y si es vertical. El valor predeterminado es 100 píxeles.

14

orient

Establezca orient = HORIZONTAL si desea que la escala corra a lo largo de la dimensión x, u orient = VERTICAL para que corra paralela al eje y. El valor predeterminado es horizontal.

15

relief

Especifica la apariencia de un borde decorativo alrededor de la etiqueta. El valor predeterminado es PLANO; para otros valores.

dieciséis

repeatdelay

Esta opción controla cuánto tiempo se debe mantener presionado el botón 1 en el canal antes de que el deslizador comience a moverse en esa dirección repetidamente. El valor predeterminado es repeatdelay = 300 y las unidades son milisegundos.

17

resolution

Normalmente, el usuario solo podrá cambiar la escala en unidades completas. Establezca esta opción en algún otro valor para cambiar el incremento más pequeño del valor de la escala. Por ejemplo, si from_ = -1.0 y to = 1.0, y establece la resolución = 0.5, la escala tendrá 5 valores posibles: -1.0, -0.5, 0.0, +0.5 y +1.0.

18

showvalue

Normalmente, el control deslizante muestra el valor actual de la escala en forma de texto (arriba para escalas horizontales, a la izquierda para escalas verticales). Establezca esta opción en 0 para suprimir esa etiqueta.

19

sliderlength

Normalmente, el control deslizante tiene 30 píxeles a lo largo de la escala. Puede cambiar esa longitud configurando la opción Sliderlength a la longitud deseada.

20

state

Normalmente, los widgets de escala responden a los eventos del mouse y, cuando tienen el foco, también a los eventos del teclado. Establezca state = DISABLED para que el widget no responda.

21

takefocus

Normalmente, el enfoque recorrerá los widgets de escala. Establezca esta opción en 0 si no desea este comportamiento.

22

tickinterval

Para mostrar valores de escala periódicos, establezca esta opción en un número y las marcas se mostrarán en múltiplos de ese valor. Por ejemplo, si from_ = 0.0, to = 1.0 y tickinterval = 0.25, las etiquetas se mostrarán a lo largo de la escala en los valores 0.0, 0.25, 0.50, 0.75 y 1.00. Estas etiquetas aparecen debajo de la escala si es horizontal, a su izquierda si es vertical. El valor predeterminado es 0, que suprime la visualización de marcas.

23

to

Un valor entero o flotante que define un extremo del rango de la escala; el otro extremo está definido por la opción from_, discutida anteriormente. El valor hasta puede ser mayor o menor que el valor from_. Para escalas verticales, el valor hasta define la parte inferior de la escala; para escalas horizontales, el extremo derecho.

24

troughcolor

El color del comedero.

25

variable

La variable de control para esta escala, si existe. Las variables de control pueden ser de la clase IntVar, DoubleVar (float) o StringVar. En el último caso, el valor numérico se convertirá en una cadena.

26

width

El ancho de la parte del canal del widget. Esta es la dimensión x para escalas verticales y la dimensión y si la escala tiene orient = HORIZONTAL. El valor predeterminado es 15 píxeles.

Métodos

Los objetos de escala tienen estos métodos:

No Señor. Método y descripción
obtener() Este método devuelve el valor actual de la escala.
valor ajustado ) Establece el valor de la escala.

Ejemplo

Pruebe el siguiente ejemplo usted mismo:

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

Resultado

Cuando se ejecuta el código anterior, produce el siguiente resultado: