Vamos a ver un ejemplo parecido al anterior, pero, en este caso, vamos a introducir valores.
Sigue siendo un ejemplo de hamburguesas, donde tanto la hamburguesa como los ingredientes tienen un pecio.
Empezamos trayendo Tkinter, creamos una variable, llamada raíz, y, ponemos un título.
Vamos a crear cuatro variables de tipo DoubleVar, como sigue:
DoubleVar declara una variable de tipo flotante, su valor predeterminado es cero, pero, con DoubleVar no podemos realizar operaciones de suma, resta, multiplicación, división…
Creamos una variable, la igualamos a checkbutton, dentro de los paréntesis, ponemos raíz que es donde se va a colocar, damos un nombre, ponemos el parámetro variable e igualamos a hamburguesa, ponemos el parámetro onvalue e igualamos a 1, ponemos el parámetro, offvalue e igualamos a 0, cerramos paréntesis, ponemos punto, ponemos pack, abrimos, usamos el parámetro anchor e igualamos al oeste (w), y, cerramos paréntesis.
Añadimos mainloop.
Creamos tres variables más, igual que la anterior, pero cambiamos el parámetro variable a tomate, queso, y, patatas.
Ejecutamos, y, vemos los 4 checkbutton.
Creamos una variable, usamos Label, la colocamos en la raíz, ponemos un título, usamos el parámetro padx, es decir, la separación con del borde horizontal, igualamos a 5.
Podemos pulsar F5 para ver cómo queda.
Creamos otra etiqueta, igualamos a Label, y, la colocamos en la raíz.
Después de la declaración de variables de control, creamos una función, o, método, declaramos una variable, e, igualamos a nada.
Usamos if, tomamos el valor de la variable hamburguesa, que puede ser 0, o, 1, e igualamos a 1, en caso de que se cumpla la condición, la variable cadena vale 3.99, que es el precio de la hamburguesa simple, en caso contrario, que ponga la variable cadena, que no vale nada.
Configuramos la variable etiqueta igual a cadena.
Vamos a check0, añadimos el parámetro command e igualamos a ingredientes, quiere decir que cuando hagamos clic en la casilla hamburguesa va a aparecer el precio en etiqueta.
Si ejecutamos ahora, vemos que, al marcar la casilla de hamburguesa, en etiqueta aparece el precio, y, si la desmarcamos, aparece 0.
Volvemos a la función, añadimos otro if, donde preguntamos que si el valor de la variable tomate es igual a 1, que a la variable cadena le sume 0.99, llegado al segundo if, la variable cadena, vale 3.99 o 0, por lo que se sumara al valor de la variable cadena, 0.99.
Vamos a check1, y, volvemos a añadir el parámetro command e igualamos a ingredientes.
Si probamos ahora, vemos que, al seleccionar hamburguesa y tomate, aparece la suma del precio de la hamburguesa mas el tomate, si solo marcamos tomate, solo aparece el precio del tomate, y, si solo marcamos hamburguesa, aparece el precio de la hamburguesa.
Volvemos a la función, agregamos dos if más, uno para queso y otro para patatas, queso vale 1.05, y, patatas vale 1.
Vamos a check2 y check3, y, añadimos el paramento command.
Pues ya lo tenemos, podemos ir probando, marcando y desmarcando casillas, y, vemos que el resultado es correcto.
Ahora, lo vamos a realizar, pero, asignando el precio a cada variable, para ello, debemos de usar el parámetro Value e igualamos al precio.
Creamos cuatro variables, cada una de ellas, usamos float, y, tomamos el valor de cada variable con el método get.
Vamos a los if, y, cambiamos el precio por la variable correspondiente.
Ejecutamos y obtenemos los mismos resultados.
Miguel Angel Franco
Comments