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
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()
P
Última actualización