Interruptor de botón de encendido/apagado en Tkinter

Requisito previo: Tkinter

Python ofrece múltiples opciones para desarrollar una GUI (interfaz gráfica de usuario). De todos los métodos GUI, Tkinter es el método más utilizado. Es una interfaz estándar de Python para el kit de herramientas Tk GUI que se envía con Python. Python con Tkinter es la forma más rápida y sencilla de crear aplicaciones GUI.

En este artículo, aprenderemos cómo hacer un interruptor de encendido/apagado usando Tkinter.

Acercarse:

  • Haz una variable global llamada is_on ; el valor predeterminado es Verdadero, lo que indica que el interruptor está ENCENDIDO.
  • Haz dos objetos de imagen ; un objeto tiene «on image» y otro tiene «off image» .
  • Cree un botón que tenga «en la imagen» por defecto; establezca el ancho del borde en cero.
  • Haz una función que cambie la imagen del botón, usando el método config() .
  • La función verificará si el valor is_on es verdadero o falso

Enlace de imágen:

A continuación se muestra la implementación:

Python3

# Import Module
from tkinter import *
 
# Create Object
root = Tk()
 
# Add Title
root.title('On/Off Switch!')
 
# Add Geometry
root.geometry("500x300")
 
# Keep track of the button state on/off
#global is_on
is_on = True
 
# Create Label
my_label = Label(root,
    text = "The Switch Is On!",
    fg = "green",
    font = ("Helvetica", 32))
 
my_label.pack(pady = 20)
 
# Define our switch function
def switch():
    global is_on
     
    # Determine is on or off
    if is_on:
        on_button.config(image = off)
        my_label.config(text = "The Switch is Off",
                        fg = "grey")
        is_on = False
    else:
       
        on_button.config(image = on)
        my_label.config(text = "The Switch is On", fg = "green")
        is_on = True
 
# Define Our Images
on = PhotoImage(file = "on.png")
off = PhotoImage(file = "off.png")
 
# Create A Button
on_button = Button(root, image = on, bd = 0,
                   command = switch)
on_button.pack(pady = 50)
 
# Execute Tkinter
root.mainloop()

Producción:

Publicación traducida automáticamente

Artículo escrito por abhigoya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *