Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Duda sobre .get()
#1
Hola, estoy aprendiendo a usar la interfaz gráfica con tkinter, y tengo una duda sobre .get(). Por ejemplo sé que en un cuadro de texto usando el .get puedo recoger la información de ese cuadro de texto, pero

Código:
from tkinter import *
root=Tk()
varOpcion=IntVar()

def imprimir():

    if varOpcion.get()==1:
        etiqueta.config(text="has elegido masculino")
    else:
        etiqueta.config(text="has elegido femenino")


Label(root, text="Género:").pack()

Radiobutton(root,text="Masculino",variable=varOpcion,value=1,command=imprimir).pack()
Radiobutton(root,text="Femenino",variable=varOpcion,value=2,command=imprimir).pack()

etiqueta=Label(root)
etiqueta.pack()

root.mainloop()


En la función imprimir, ¿porqué cuando pongo varOpcion.get() la interfaz funciona bien y cuando lo pongo sin el get no funciona?

Pd: Me refiero a funcionar como yo quiero, cuando pongo el get en varOpcion, la variable etiqueta muestra que género selecciono y cuando quito el get la variable etiqueta me muestra el primer género que e seleccionado pero si seleciono otro no se cambia el valor de etiqueta.
Responder
#2
La forma correcta es usando get(). Al omitirlo estás chequeando si varOpcion == 1, lo cual siempre es falso porque varOpcion es una instancia de la clase tk.IntVar.
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)