Python Tkinter Spinbox – Cómo usar
En este tutorial de Tkinter, aprenderemos sobre el Widget de cuadro de giro de Python Tkinter. Y también cubrimos la siguiente lista de temas:
Caja giratoria de Python Tkinter
El widget Python Tkinter Spinbox es un tipo de widget de entrada con algunas funciones avanzadas. En esta sección exploraremos todo el potencial de Python Tkinter Spinbox.
- Python Tkinter Spinbox es un tipo de widget de entrada con flechas arriba-abajo.
- El rango de datos se puede colocar dentro del cuadro de número y el usuario puede navegar usando las flechas hacia arriba y hacia abajo.
- Además, el usuario puede escribir información como lo hacemos en el widget de entrada.
Código fuente:
En este código, hemos creado un widget simple de Python Tkinter Spinbox.
- Python Tkinter Spinbox requiere un rango de valores para que pueda mostrar la información.
- de_ es el comienzo del rango de número y a es la meta de la gama.
- Alternativa a de_ y a también podemos pasar Lista o Tupla de información para el valor opción.
- ejemplo: valor = [1, 2, 3, 4, 5, 6]
from tkinter import *
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#31403C')
Spinbox(
ws,
from_=1,
to=10,
font=('sans-serif', 14),
).pack(pady=20)
ws.mainloop()
Producción:
En este ejemplo, se muestra el widget Python Tkinter Spinbox. Los datos que contiene van del 1 al 10. Los usuarios pueden hacer clic en el botón hacia arriba o hacia abajo para navegar por los datos.
Python Tkinter Spinbox validar
La opción de validación de Python Tkinter Spinbox permite validar la entrada del usuario y evita los valores no estándar.
- De forma predeterminada, la validación está establecida en Ninguno.
- validar y validar el comando son dos cosas que funcionan de la mano.
- validar proporciona el modo de validación mientras que los comandos de validación activan la función o incluso eso ocurrirá.
- El modo de validación admite las siguientes opciones:
enfoque | Validar siempre que el Entry el widget obtiene o pierde el foco |
concéntrate en | Valide cada vez que el widget obtenga el foco. |
enfoque | Valide siempre que el widget pierda el foco. |
llave | Valide cada vez que cualquier pulsación de tecla cambie el contenido del widget. |
todos | Validar en todas las situaciones anteriores. |
ninguna | Este es el valor de opción predeterminado. Desactiva la validación. Tenga en cuenta que esta es la cadena ‘ninguno’, no el valor especial de Python Ninguno. |
Modo de validación en Python Tkinter Spinbox
Leer: Cuestionario de Python Tkinter
Valor del conjunto de spinbox de Python Tkinter
En esta sección, aprenderemos sobre Python Tkinter Spinbox Set Value. Veremos cómo establecer un valor en Python Tkinter Spinbox.
- Python Tkinter Spinbox acepta un rango de valores en forma de de_ , a o Lista y tupla.
- En caso de que se proporcione from_, se convierte en el valor predeterminado
- En el caso de la lista y el valor de tupla en el índice 0, se convierte en el primer valor en Python Tkinter Spinbox.
- establecer() La función en Python Tkinter Spinbox se usa para personalizar el valor predeterminado.
- La función Set () se aplica en la variable de texto o en la variable utilizada para almacenar Python Tkinter Spinbox.
- En nuestro ejemplo, notará que Python Tkinter Spinbox mostrará el valor predeterminado.
Código fuente:
En este ejemplo, hemos utilizado la función set() para establecer el valor predeterminado en Python Tkinter Spinbox.
- La función set () se aplica en la variable de texto.
from tkinter import *
def display_selected():
Label(
text=f'You selected {var.get()}',
font=('sans-serif', 14),
bg='#6393A6'
).pack()
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#6393A6')
var = IntVar()
var.set(7) # default value is 5
Spinbox(
ws,
textvariable=var,
from_=1,
to=10,
increment=2,
command=display_selected,
font=('sans-serif', 18),
).pack(pady=20)
ws.mainloop()
Producción:
En este ejemplo, hemos demostrado cómo establecer valores predeterminados en Python Tkinter. Puede ver que primero, hemos establecido el valor predeterminado en 5 y luego lo cambiamos a 7. Cada vez que se inicia la aplicación, tiene el valor predeterminado asignado.
![conjunto de spinbox tkinter de python conjunto de spinbox tkinter de python](https://pythonguia.com/wp-content/uploads/2022/10/python-tkinter-spinbox-set.gif)
Valor de conjunto de spinbox de Python Tkinter
Comando de cuadro giratorio de Python Tkinter
En esta sección, aprenderemos sobre el comando Python Tkinter Spinbox.
- Al usar Python Tkinter Spinbox, se espera que suceda algo cuando el usuario hace clic en la tecla hacia arriba o hacia abajo en Python Tkinter Spinbox.
- Las funciones contienen la información de una actividad y estas funciones se vinculan mediante la opción ‘comando’ en el comando Python Tkinter Spinbox.
- En nuestro ejemplo, mostraremos el valor seleccionado cada vez que el usuario haga clic en la tecla hacia arriba o hacia abajo de Python Tkinter Spinbox.
Código fuente:
En este ejemplo, hemos creado una aplicación simple utilizando el widget Python Tkinter Spinbox.
- La aplicación tiene una lista de frutas y se puede acceder a cada nombre de fruta usando el widget Python Tkinter Spinbox.
- cada vez que el usuario hace clic en la flecha hacia arriba o hacia abajo, se activa la función. Esta función se asigna mediante la opción ‘comando’.
- En nuestro caso, hemos creado una función display_selected() y le hemos pasado este nombre en la opción de comando.
from tkinter import *
def display_selected():
msg.config(
text=f'You selected {var.get()}',
font=('sans-serif', 14),
bg='#D97904'
)
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#D97904')
var = StringVar()
Spinbox(
ws,
textvariable=var,
value=['Grapes', 'Banana', 'Mango', 'Blueberries'],
increment=2,
width=10,
command=display_selected,
font=('sans-serif', 18),
).pack(pady=20)
msg = Label(
ws,
text="",
bg='#D97904'
)
msg.pack(pady=10)
ws.mainloop()
Producción:
En este resultado, se ha pasado una lista de frutas como un valor en el widget Python Tkinter Spinbox. Cada vez que el usuario cambia a una nueva fruta, se muestra un mensaje con el nombre de la fruta seleccionada.
![comando python tkinter spinbox comando python tkinter spinbox](https://pythonguia.com/wp-content/uploads/2022/10/python-tkinter-spinbox-command.gif)
Comando Python Tkinter Spinbox
Python Tkinter Spinbox Obtener valor
En esta sección, aprenderemos sobre Python Tkinter Spinbox Get Value.
- Obtener() La función se utiliza para obtener el valor del widget proporcionado por el usuario.
- De forma predeterminada, el valor obtenido está en un tipo de cadena, pero se puede convertir a otros tipos de datos.
- Usando Obtener() función, podemos obtener el valor seleccionado por el usuario en Python Tkinter Spinbox.
- En nuestro ejemplo, buscaremos el valor seleccionado por el usuario y también lo mostraremos usando el widget Python Tkinter Label.
Código fuente:
from tkinter import *
def display_selected():
Label(
text=f'You selected {var.get()}',
font=('sans-serif', 14),
bg='#6393A6'
).pack()
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#6393A6')
var = IntVar()
Spinbox(
ws,
textvariable=var,
from_=1,
to=10,
increment=2,
command=display_selected,
font=('sans-serif', 18),
).pack(pady=20)
ws.mainloop()
Producción:
En este ejemplo, hemos utilizado el obtener() para obtener el valor del widget Python Tkinter Spinbox y estamos mostrando el valor seleccionado usando el widget Python Tkinter Label.
![python tkinter spinbox obtener python tkinter spinbox obtener](https://pythonguia.com/wp-content/uploads/2022/10/python-tkinter-spinbox-get.gif)
Python Tkinter Spinbox Obtener valor
Enlace de cuadro de giro de Python Tkinter
Python Tkinter admite una característica ‘vincular’ que permite vincular un evento con el widget. En esta sección, aprenderemos sobre Python Tkinter Spinbox Bind.
- Bind tiene tres componentes:
Spinbox.bind(event_name, handler, add=None)
- nombre del evento es la actividad que desencadenará el controlador. El evento puede ser presionar, soltar, mover, etc. de un botón o cualquier otro periférico.
- manipulador es la función asociada con el evento. En palabras simples, el controlador tiene la información de qué hacer cuando se invoca el evento.
- agregar es Ninguno por defecto. Puede reemplazar Ninguno con el signo ‘+’. Esto reemplazará el controlador anterior con el actual. El signo ‘+’ se proporciona en el controlador actual.
- En nuestra próxima sección, hemos explicado Bind con un ejemplo.
Evento Spinbox de Python Tkinter
Evento es cualquier actividad que sucedió. Podría ser un clic de botón, liberación, movimiento, etc. En esta sección, aprenderemos sobre Python Tkinter Spinbox Event.
- Cada evento está vinculado con algún widget como Python Tkinter Spinbox en este caso.
- El evento invoca el controlador o la función. En palabras simples, cada vez que ocurre un evento, se vincula una actividad con él.
Código fuente:
En este ejemplo, hemos creado una aplicación basada en GUI utilizando Python Tkinter en la que se muestra el saldo de la cuenta cada vez que el usuario hace clic en la punta de flecha.
sb.bind('', 14)
aquí sb es la variable asignada a Python Tkinter Spinbox.''
es el evento de clic izquierdo del ratón. Cada vez que el usuario hace clic con el botón izquierdo, se llama a este evento.- disipar es el nombre de la función.
from tkinter import *
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#45858C')
def disp(event):
msg.config(text=f'Account Balance: {sb.get()}')
sb = Spinbox(
ws,
from_=1000,
to=100000,
increment=100,
format="%10.2f",
font=('sans-serif', 14)
)
sb.pack(pady=20)
sb.bind('', disp)
msg = Label(
ws,
text="",
bg='#45858C',
font=('sans-serif', 14)
)
msg.pack(pady=10)
ws.mainloop()
Producción:
En este ejemplo, se invoca un evento cada vez que el usuario hace clic en la punta de flecha. La función muestra el saldo de la cuenta. Esto aumenta y disminuye cada vez que un usuario hace clic en la punta de flecha. Tenga en cuenta que si el usuario presiona y mantiene presionada la punta de flecha, el valor en Python Tkinter Spinbox cambia, pero el valor en el widget Python Tkinter Label sigue siendo el mismo. Esto se debe a que el evento se invoca solo al hacer clic.
![Evento de cuadro de giro de tkinter de Python Evento de cuadro de giro de tkinter de Python](https://pythonguia.com/wp-content/uploads/2022/10/python-tkinter-spinbox-event.gif)
Evento Spinbox de Python Tkinter
Formato de cuadro giratorio de Python Tkinter
El spinbox de Python Tkinter proporciona una opción de Formato mediante la cual se puede asignar cualquier formato a los valores numéricos.
- Al tratar con la base de datos monetaria, desea establecer el valor monetario en un formato 1000.00, luego puede hacerlo usando la opción de formato en Python Tkinter Spinbox.
- Aquí 1000 puede ser cualquier valor, pero desea proporcionar 0,00 después de cualquier valor.
- para hacerlo simplemente usa este código
fomat="%10.2f"
aquí 10 es el valor posicional y 2 es el número de ceros después del punto. - Aquí hay un ejemplo para demostrar la situación dada.
from tkinter import *
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#296B73')
Spinbox(
ws,
from_=1000,
to=100000,
increment=100,
format="%10.2f",
font=('sans-serif', 14)
).pack(pady=20)
ws.mainloop()
Producción:
En este ejemplo, hemos utilizado la opción de formato en el widget Python Tkinter Spinbox. Puede ver que se agregan 2 ceros después del punto en cada valor.
![formato de cuadro de giro tkinter de python formato de cuadro de giro tkinter de python](https://pythonguia.com/wp-content/uploads/2022/10/python-tkinter-spinbox-format.gif)
Formato de cuadro giratorio de Python Tkinter
Incremento de cuadro de giro de Python Tkinter
En esta sección, cubriremos el incremento de Python Tkinter Spinbox. Aprenderemos cómo cambiar el valor de incremento.
- De forma predeterminada, Python Tkinter Spinbox se incrementa en 1 cada vez que el usuario hace clic en la flecha hacia arriba.
- Para personalizar esta función en Python Tkinter Spinbox, se utiliza la opción de incremento.
- Python Tkinter Spinbox saltará al siguiente valor de acuerdo con el valor asignado en la opción de incremento.
- por ejemplo, si el valor inicial es 1 y el valor de incremento es 2, eso significa que el cuadro de número saltará a 3, 5, 7, 9…n cada vez que haga clic en el botón hacia arriba.
- En nuestro ejemplo, hemos mostrado lo mismo.
Código fuente:
from tkinter import *
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#64732F')
Spinbox(
ws,
from_=1,
to=10,
increment=2,
font=('sans-serif', 18),
).pack(pady=20)
ws.mainloop()
Producción:
En el ejemplo, hemos demostrado la incremento opción en Python Tkinter Spinbox. hemos asignado el valor de incremento a 2, lo que significa que cada vez que el usuario hace clic en el botón hacia arriba o hacia abajo, el valor salta 2 números.
![Incremento de cuadro de giro de tkinter de Python Incremento de cuadro de giro de tkinter de Python](https://pythonguia.com/wp-content/uploads/2022/10/python-tkinter-spinbox-increment.gif)
Incremento de cuadro de giro de Python Tkinter
Python Tkinter Spinbox Textvariable
En esta sección, aprenderemos sobre Python Tkinter Spinbox Textvariable.
- Las variables de texto se utilizan cuando los datos no son fijos.
- Textvariables funciona con todos los widgets y está disponible para todos los tipos de datos.
- La variable de texto debe asignarse con la variable apropiada. Aquí están las opciones:
- VarCadena() es para cadenas y caracteres.
- IntVar() es para enteros (números no decimales)
- Var booleana() es para verdadero o falso
- DobleVar() es para numeros decimales
- El widget se puede controlar con su variable de texto. En nuestro ejemplo, tenemos
from tkinter import *
def display_selected():
msg.config(
text=f'You selected {var.get()}',
font=('sans-serif', 14),
bg='#296B73'
)
ws = Tk()
ws.title('PythonGuides')
ws.geometry('400x200')
ws.config(bg='#296B73')
var = StringVar()
cities = ['Los Angeles', 'Chicago', 'Houston', 'Nashville', 'El Paso', 'Virginia', 'Texas', 'New York']
Spinbox(
ws,
textvariable=var,
value=cities,
increment=2,
width=10,
command=display_selected,
font=('sans-serif', 18),
).pack(pady=20)
msg = Label(
ws,
text="",
bg='#296B73'
)
msg.pack(pady=10)
ws.mainloop()
Producción:
En esta salida, Python Tkinter Spinbox usa textvariable para controlar la etiqueta cambiante. Dado que el texto es String, estamos usando StringVar() en este caso.
![caja de giro de tkinter de python python tkinter spinbox textvariable](https://pythonguia.com/wp-content/uploads/2022/10/python-tkinter-spinbox-textvariable.gif)
Python Tkinter Spinbox Textvariable
También te puede interesar leer los siguientes artículos.
- Marco Tkinter de Python
- Cuadro de mensaje de Python Tkinter
- Cómo generar recibos de pago usando Python Tkinter
- Panel Python Tkinter
- Python Tkinter Cronómetro
- Cuadro de lista de Python Tkinter
- Python Tkinter después del método
En este tutorial, hemos aprendido acerca de la Widget de cuadro de giro de Python Tkinter.