Ir al contenido principal

Botón Cancelar

# -*- coding: utf-8 -*-from Tkinter import *
import Tkinter as tk
import tkMessageBox

global cad


def thamb():
    hamb = var1.get()
    cantidad = cant.get()
    costohamb = 0    if hamb == "Hamburguesa sencilla":
        costohamb = 15    elif hamb == "Hamburguesa Doble":
        costohamb = 25    elif hamb == "Hamburguesa triple":
        costohamb = 35    costo = cantidad * costohamb
    return costo


def comp():
    costocomp = 0    cantidadR = cant1.get()
    cantidadP = cant2.get()
    cantidadB = cant3.get()
    refresco = CheckVar1.get()
    papas = CheckVar2.get()
    burrito = CheckVar3.get()
    if refresco == 1:
        costocomp = costocomp + (15 * cantidadR)
    if papas == 1:
        costocomp = costocomp + (20 * cantidadP)
    if burrito == 1:
        costocomp = costocomp + (18 * cantidadB)
    return costocomp


def impuesto():
    iva = (0.15 * (thamb() + comp()))
    return iva


def limpiarcajas():
    cuadrohamb.delete(0, 'end')
    cuadrorefresco.delete(0, 'end')
    cuadroburrito.delete(0, 'end')
    cuadropapas.delete(0, 'end')
    limpiarbotones()


def limpiarbotones():
    var1.set("No ha selecionado")
    CheckVar1.set(None)
    CheckVar2.set(None)
    CheckVar3.set(None)
    var.set(None)
    rtotalfinal = Label(miFrame, text="            ", bg="yellow", font=("Arial", 14), ).grid(row=9, column=2, pady="1",                                                                                              padx="15", sticky="w")
    riva = Label(miFrame, text="            ", bg="yellow", font=("Arial", 14)).grid(row=8, column=2, pady="1",                                                                                     padx="15", sticky="w")
    rtotal = Label(miFrame, text="            ", bg="yellow", font=("Arial", 14)).grid(row=7, column=2, pady="1",                                                                                       padx="15", sticky="w")
    limpiarlistapedido()


def listapedido():
    cad = ""    hamb = var1.get()
    refresco = CheckVar1.get()
    papas = CheckVar2.get()
    burrito = CheckVar3.get()
    listpedido = Listbox(miFrame, width=50)
    if hamb != "No ha selecionado" or refresco == 1 or papas == 1 or burrito == 1:
        if hamb == "Hamburguesa sencilla":
            cad += "Hamburguesa sencilla $15 c/u"        elif hamb == "Hamburguesa Doble":
            cad += "Hamburguesa Doble $25 c/u"        elif hamb == "Hamburguesa triple":
            cad += "Hamburguesa triple $35 c/u"        listpedido.insert(0, cad)
        # insert        if refresco == 1:
            listpedido.insert(1, "Refresco $15 c/u")
        if papas == 1:
            listpedido.insert(2, "Papas $20 c/u")
        if burrito == 1:
            listpedido.insert(3, "Burrito $18 c/u")
    # DELETE    elif hamb == "No ha selecionado" and refresco == 0 and papas == 0 and burrito == 0:
        listpedido.delete(0)
        listpedido.delete(1)
        listpedido.delete(2)
        listpedido.delete(3)

    listpedido.grid(row=2, column=2, pady="1", padx="4")


def limpiarlistapedido():
    cant.set(0)
    cant1.set(0)
    cant2.set(0)
    cant3.set(0)
    CheckVar1.set(0)
    CheckVar2.set(0)
    CheckVar3.set(0)
    listapedido()
    tkMessageBox.showinfo("Cancelacion exitosa", "Se ha cancelado el pedido, y esta listo para realizar nuevo pedido")


def totali():
    total = thamb() + comp()
    return total


def totalf():
    formapago = var.get()
    totf = 0    if formapago == 1:
        totf = totali() + impuesto()
        iva = impuesto()

    elif formapago == 2:
        totf = totali()
        iva = 0    rtotalfinal = Label(miFrame, text=totf, bg="yellow", font=("Arial", 14), ).grid(row=9, column=2, pady="1",                                                                                    padx="15", sticky="w")
    riva = Label(miFrame, text=iva, bg="yellow", font=("Arial", 14)).grid(row=8, column=2, pady="1", padx="15",                                                                          sticky="w")
    rtotal = Label(miFrame, text=totali(), bg="yellow", font=("Arial", 14)).grid(row=7, column=2, pady="1", padx="15",                                                                                 sticky="w")
    listapedido()


def ocultar(ventana): ventana.withdraw()


raiz = Tk()
raiz.title("ventana primaria")
raiz.resizable(1, 1)  # para permitir agrandar o no el ancho o la altura con el moyuse# raiz.iconbitmap("Hamburger.ico")# raiz.geometry("500x600")raiz.config(bg="orange")
raiz.config(bd=15)
raiz.config(relief="groove")

miFrame = Frame(raiz)
miFrame.pack()
miFrame.config(bg="yellow")
miFrame.config(bd=10)
miFrame.config(relief="sunken")
miFrame.config(cursor="hand2")
# EtiquetasmiLabel1 = Label(miFrame, text="Hamburguesa feliz", fg="red", bg="yellow", font=("Arial Black", 25)).grid(row=0,                                                                                                          column=0,                                                                                                          pady="4")
OrdenH = Label(miFrame, text="Seleccione la hamburguesa", bg="yellow", font=("Arial", 14)).grid(row=1, column=0,                                                                                                pady="1", padx="15",                                                                                                sticky="w")
Pedido = Label(miFrame, text="Pedido:", bg="yellow", font=("Arial", 14)).grid(row=1, column=2, pady="1")
cantidadhamb = Label(miFrame, text="Cantidad de Hamburguesas:", bg="yellow", font=("Arial", 14)).grid(row=2, column=0,                                                                                                      pady="1",                                                                                                      padx="15",                                                                                                      sticky="w")
complementos = Label(miFrame, text="Complementos:", bg="yellow", font=("Arial", 14)).grid(row=3, column=0, pady="1",                                                                                          padx="15", sticky="w")
Cantidadcomp = Label(miFrame, text="Cantidad complementos:", bg="yellow", font=("Arial", 14)).grid(row=3, column=1,                                                                                                   pady="1", padx="15",                                                                                                   sticky="w")
Formadepago = Label(miFrame, text="Forma de pago:", bg="yellow", font=("Arial", 14)).grid(row=7, column=0, pady="1",                                                                                          padx="15", sticky="w")
Total = Label(miFrame, text="Total:", bg="yellow", font=("Arial", 14)).grid(row=7, column=1, pady="1", padx="15",                                                                            sticky="w")
IVA = Label(miFrame, text="IVA:", bg="yellow", font=("Arial", 14)).grid(row=8, column=1, pady="1", padx="15",                                                                        sticky="w")
TotalFinal = Label(miFrame, text="Total final:", bg="yellow", font=("Arial", 14)).grid(row=9, column=1, pady="1",                                                                                       padx="15", sticky="w")

# Lista de opciones desplegablevar1 = tk.StringVar(miFrame)
var1.set("No ha selecionado")
opciones = ["Hamburguesa sencilla", "Hamburguesa Doble", "Hamburguesa triple"]
opcion = tk.OptionMenu(miFrame, var1, *opciones)
opcion.config(width=20)
opcion.grid(row=1, column=1)

c = Listbox(miFrame, width=50).grid(row=2, column=2, pady="1", padx="4")

# Entryscant = tk.IntVar(miFrame)
cant.set(0)
cant1 = tk.IntVar(miFrame)
cant1.set(0)
cant2 = tk.IntVar(miFrame)
cant2.set(0)
cant3 = tk.IntVar(miFrame)
cant3.set(0)
cuadrohamb = Entry(miFrame, textvariable=cant)
cuadrohamb.grid(row=2, column=1, pady="1")
cuadrohamb.config(fg="blue", justify="center")
cuadrorefresco = Entry(miFrame, textvariable=cant1)
cuadrorefresco.grid(row=4, column=1, pady="1")
cuadrorefresco.config(fg="blue", justify="center")
cuadropapas = Entry(miFrame, textvariable=cant2)
cuadropapas.grid(row=5, column=1, pady="1")
cuadropapas.config(fg="blue", justify="center")
cuadroburrito = Entry(miFrame, textvariable=cant3)
cuadroburrito.grid(row=6, column=1, pady="1")
cuadroburrito.config(fg="blue", justify="center")

# CheckbuttonCheckVar1 = IntVar()
CheckVar2 = IntVar()
CheckVar3 = IntVar()
Refresco = Checkbutton(miFrame, text="Refresco", bg="yellow", variable=CheckVar1)
Refresco.grid(row=4, column=0, sticky="w", padx="15")
Refresco.config(onvalue=1, offvalue=0)
Papas = Checkbutton(miFrame, text="Papas", bg="yellow", variable=CheckVar2)
Papas.grid(row=5, column=0, sticky="w", padx="15")
Papas.config(onvalue=1, offvalue=0)
Burrito = Checkbutton(miFrame, text="Burrito", bg="yellow", variable=CheckVar3)
Burrito.grid(row=6, column=0, sticky="w", padx="15")
Burrito.config(onvalue=1, offvalue=0)

# Radiobuttonvar = IntVar()
R1 = Radiobutton(miFrame, text="Tarjeta de credito", bg="yellow", variable=var, value=1)  # , command=sel)R1.grid(row=8, column=0, sticky="w", padx="15")
R2 = Radiobutton(miFrame, text="Efectivo", bg="yellow", variable=var, value=2)  # , command=sel)R2.grid(row=9, column=0, sticky="w", padx="15")

# botonesCancelar = Button(miFrame, text="Cancelar", command=limpiarcajas)
Cancelar.grid(row=10, column=0, sticky="w", padx="15")
Comprar = Button(miFrame, text="Hacer pedido", bg="Green", command=totalf)
Comprar.grid(row=10, column=2, sticky="e", padx="15")
Terminar = Button(raiz, text="Terminar", bg="Red", command=lambda: ocultar(raiz))
Terminar.pack()

raiz.mainloop()

Comentarios

Entradas populares de este blog

Comandos CMD

Todas las versiones de Windows incluyen una serie de comandos que permiten transmitir órdenes directamente al sistema operativo. Son simples instrucciones que se pueden usar de formas diferentes, con la herramienta Símbolo del Sistema o usándolos en archivos batch. El Símbolo del Sistema, Consola de CMD o intérprete de comandos, es una herramienta incluida en todas las versiones de Windows.  Cls:   Este comando limpia la ventana de CMD eliminando el contenido de operaciones anteriores. Exit:   Cierra la ventana de CMD. Si se ha iniciado un comando de procesado por lotes cierra el proceso, pero mantiene CMD abierto. Help:   Muestra todos los comandos disponibles y una breve descripción. Si quieres obtener información sobre un comando en concreto o  cómo formar la sintaxis de un determinado comando , escribe el comando seguido de una barra diagonal y un signo de interrogación. Por ejemplo:  cd /? Cd:  Este es uno de los comandos más útiles par...

1.2 Dispositivos de hardware y software para el despliegue gráfico.

Hardware: Un sistema gráfico tradicional consta de cuatro componentes: procesador, unidad de procesamiento gráfico, dispositivos de entrada y dispositivos de salida. El procesador desempeña un papel central en cualquier sistema gráfico y cada uno de los demás componentes debe comunicarse en algún momento con otro, o con el procesador mediante un canal de datos. Generalmente el dispositivo principal de salida de un sistema gráfico es un monitor de video. El tipo más común es un CRT y actualmente se incrementa el uso de los LCD. La cantidad de memoria de video requerida para almacenar una pantalla se determina multiplicando el número de pixeles horizontales, el número de pixeles verticales y el número de bytes usados para codificar un pixel. Memoria de video = Res. H x Res. V x Núm. de bytes por pixel Cada pixel se codifica mediante un conjunto de bits de longitud determinada (la llamada profundidad de color ), por ejemplo, puede codificarse un pixel con un byte, u 8 bit...

Introducción al lenguaje ensamblador

Importancia de la programación en lenguaje ensamblador La importancia del lenguaje ensamblador radica principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria. El lenguaje ensamblador, es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, micro controladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Ventajas...