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: