una pregunta simple (no tan simple para un tkinter newby como yo): Estoy construyendo una GUI y quiero tener dos botones de radio controlando el estado (habilitado o deshabilitado) de un widget de Entrada, en el que el usuario ingresará los datos. Cuando se presiona el primer botón de opción, deseo que la Entrada se deshabilite; cuando se presiona el segundo botón de opción, deseo que la Entrada se deshabilite.Python tkinter Interruptor de estado de widget de entrada a través de botones de radio
Aquí está mi código:
from Tkinter import *
root = Tk()
frame = Frame(root)
#callbacks
def enableEntry():
entry.configure(state=ENABLED)
entry.update()
def disableEntry():
entry.configure(state=DISABLED)
entry.update()
#GUI widgets
entry = Entry(frame, width=80)
entry.pack(side='right')
var = StringVar()
disableEntryRadioButton = Radiobutton(frame, text="Disable", variable=var, value="0", command=disableEntry)
disableEntryRadioButton.pack(anchor=W)
enableEntryRadioButton = Radiobutton(frame, text="Enable", variable=var, value="1", command=enableEntry)
enableEntryRadioButton.pack(anchor=W)
Mi idea es invocar las devoluciones de llamada adecuadas cuando se pulsa cada botón de radio. Pero no estoy muy seguro de que realmente suceda con el código que escribí, porque cuando selecciono las radios, el estado de la Entrada no cambia.
¿Dónde me equivoco?
Bryan, se disculpa: Olvidé para insertar el 'root.mainloop()' en mi extracto de código (error tipográfico) – csparpa
Ok, el código funciona bien ahora. ¡Gracias! – csparpa