Python - duda con Tkinter

 
Vista:
sin imagen de perfil
Val: 10
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

duda con Tkinter

Publicado por Deibyt (4 intervenciones) el 02/04/2021 07:43:34
Estoy aprendiendo a usar Tkinter y tengo un problema con los Radiobuttons.
El programa lo que hará es recibir un numero cualquiera y entre los Radiobuttons se elegirá el numero por el cual se multiplicará, pero a la hora de arrojarme el resultado por consola me muestra es un 0 en lugar de mostrarme el resultado que se supone debe mostrar y no se en que me está fallando el código, agradezco su ayuda.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from tkinter import *
 
root = Tk()
root.title("posicionar")
root.geometry("310x300")
root.resizable(0, 0)
 
 
def operacion():
    numero = num.get()
    if opcion.get() == 1:
        total = numero * 5
    elif opcion.get() == 2:
        total = numero * 10
    elif opcion.get() == 3:
        total = numero * 20
    elif opcion.get() == 4:
        total = numero * 30
    elif opcion.get() == 5:
        total = numero * 40
    else:
        total = numero * numero
    print(f"El total de la operacion es: {str(total)}")
    # trc.set(total)
 
 
opcion = IntVar()
num = IntVar()
trc = IntVar()
 
etiqueta1 = Label(root, text="Escriba su numero")
etiqueta1.place(x=20, y=20)
 
entrada1 = Entry(root)
entrada1.place(x=150, y=20)
 
etiqueta2 = Label(root, text="Elija la cantidad")
etiqueta2.place(x=20, y=50)
 
x5 = Radiobutton(root, text="x5", value=1, variable=opcion)
x5.place(x=20, y=80)
 
x10 = Radiobutton(root, text="x10", value=2, variable=opcion)
x10.place(x=70, y=80)
 
x20 = Radiobutton(root, text="x20", value=3, variable=opcion)
x20.place(x=120, y=80)
 
x30 = Radiobutton(root, text="x30", value=4, variable=opcion)
x30.place(x=20, y=110)
 
x40 = Radiobutton(root, text="x40", value=5, variable=opcion)
x40.place(x=70, y=110)
 
boton1 = Button(root, text="Realizar operacion", command=operacion)
boton1.place(x=20, y=140)
 
# mostrar = Entry(root, bd=20 ,textvariable = trc ,state="disable")
# mostrar.place(x=70 , y=221)
root.mainloop()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

duda con Tkinter

Publicado por algoritmo (245 intervenciones) el 02/04/2021 12:29:02
Hola

Prueba cambiando la fila 34 por:

entrada1 = Entry(root, textvariable=num)

Saludos. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Damian
Val: 45
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

duda con Tkinter

Publicado por Damian (6 intervenciones) el 08/04/2021 07:42:48
Yo tambien estoy empezando a programar en python y agarre tu codigo para practicar.
Mira las modificaciones que le hice:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from tkinter import *
 
root = Tk()
root.title("posicionar")
root.geometry("310x300")
root.resizable(0, 0)
 
 
def operacion():
 
    texto_resultado.set("El resultado es: "+str(num.get() * opcion.get() ))
 
 
def reset():
    opcion.set(None)
    texto_resultado.set("")
    num.set(0)
 
 
 
opcion = IntVar()
num = IntVar()
 
 
texto_resultado = StringVar("")
 
 
etiqueta1 = Label(root, text="Escriba su numero:")
etiqueta1.place(x=20, y=20)
 
 
entrada1 = Entry(root, textvariable=num)
entrada1.place(x=150, y=20)
entrada1.focus()
 
 
etiqueta2 = Label(root, text="Elija la cantidad:")
etiqueta2.place(x=20, y=50)
 
 
x5 = Radiobutton(root, text="x2", value=2, variable=opcion, command=operacion)
x5.place(x=20, y=80)
 
x10 = Radiobutton(root, text="x10", value=10, variable=opcion, command=operacion)
x10.place(x=70, y=80)
 
x20 = Radiobutton(root, text="x20", value=20, variable=opcion, command=operacion)
x20.place(x=120, y=80)
 
x30 = Radiobutton(root, text="x30", value=30, variable=opcion, command=operacion)
x30.place(x=20, y=110)
 
x40 = Radiobutton(root, text="x40", value=40, variable=opcion, command=operacion)
x40.place(x=70, y=110)
 
 
etiqueta3 = Label(root, textvariable=texto_resultado)
etiqueta3.place(x=20, y=170)
 
 
boton1 = Button(root, text="Resetear", command=reset)
boton1.place(x=20, y=140)
 
root.mainloop()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar