Ejemplo de Entorno gráfico: RadioButton

El usuario introducirá una especialidad de ingeniería y visualizara la especialidad seleccionada al pulsar Elección. Pantalla será semejante:

Código 1
Código 2

Código 1

from tkinter import *
def salir():
    ventana.destroy()
def obtener_datos():
    s=valor.get()
    rama="Has seleccionado: "
    if s==1:
        rama+=" Mecánica"
    elif s==2:
        rama+=" Industrial"
    elif s==3:
        rama+="Automática"
    else:
        rama=" No seleccionaste nada"
    
    resultado.set(rama)
    
    
ventana = Tk() 
#ventana=tk.Tk()
# damos título a la ventana

ventana.title("Mi primer ejercicio")
# la hacemos de dimensiones fijas
ventana.resizable(False, False)
# ancho y alto de la ventana
ventana.geometry("450x450")

marco=LabelFrame(ventana,text="Especialidad")
marco.grid(row=2,column=10)
valor=IntVar()
resultado=StringVar()
mecanica=Radiobutton(marco,text="Mecánica",variable=valor,value=1).grid(row=1,column=30,sticky='w')
orga=Radiobutton(marco,text="Organización",variable=valor,value=2).grid(row=2,column=30,sticky='w')
auto=Radiobutton(marco,text="Automática",variable=valor,value=3)
auto.grid(row=3,column=30,sticky='w')
resultado_e=Label(ventana,textvariable=resultado)
resultado_e.grid(column=20,row=35)
calculo=Button(ventana,text="Elección",command=obtener_datos).grid(column=40,row=50)
salir=Button(ventana,text="Salir",command=salir).grid(column=40,row=60)
ventana.mainloop()

Código 2

from tkinter import *

def salir():
    ventana.destroy()

def obtener_datos():
    s = valor.get()
    rama = "Has seleccionado: "
    color = "#000000"  # Color negro por defecto
    if s == 1:
        rama += "Mecánica"
        color = "#FF0000"  # Rojo
    elif s == 2:
        rama += "Industrial"
        color = "#0000FF"  # Azul
    elif s == 3:
        rama += "Automática"
        color = "#008000"  # Verde
    else:
        rama = "No seleccionaste nada"
    
    resultado.set(rama)
    resultado_e.config(fg=color)  # Configura el color del texto de acuerdo a la selección

ventana = Tk()
ventana.title("Mi primer ejercicio")
ventana.resizable(False, False)
ventana.geometry("450x450")

marco = LabelFrame(ventana, text="Especialidad")
marco.grid(row=2, column=10)

valor = IntVar()
resultado = StringVar()

# Radio buttons para las especialidades
Radiobutton(marco, text="Mecánica", variable=valor, value=1).grid(row=1, column=30, sticky='w')
Radiobutton(marco, text="Industrial", variable=valor, value=2).grid(row=2, column=30, sticky='w')
auto = Radiobutton(marco, text="Automática", variable=valor, value=3)
auto.grid(row=3, column=30, sticky='w')

# Etiqueta para mostrar el resultado con el color inicial negro
resultado_e = Label(ventana, textvariable=resultado, fg="#000000")
resultado_e.grid(column=20, row=35)

# Botón para realizar la elección con color personalizado
Button(ventana, text="Elección", command=obtener_datos, bg="#00FFFF").grid(column=40, row=50)  # Cyan como color de fondo

# Botón de salida
Button(ventana, text="Salir", command=salir).grid(column=40, row=60)

ventana.mainloop()

OJO

¿Qué Faltaría?

P

Última actualización