Wednesday, November 27, 2019

MI FIGURA 3D EN PYTHON

Código de una prisma octagonal en 3D.


import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
verticies = (
(0.2,0.4,0),
(0.4,0.2,0),
(0.4,-0.2,0),
(0.2,-0.4,0),
(-0.2,-0.4,0),
(-0.4,-0.2,0),
(-0.4,0.2,0),
(-0.2,0.4,0),
(0.2,0.4,1.5),
(0.4,0.2,1.5),
(0.4,-0.2,1.5),
(0.2,-0.4,1.5),
(-0.2,-0.4,1.5),
(-0.4,-0.2,1.5),
(-0.4,0.2,1.5),
(-0.2,0.4,1.5)
)
edges = (
(0,1),
(1,2),
(2,3),
(3,4),
(4,5),
(5,6),
(6,7),
(7,0),
(8,9),
(9,10),
(10,11),
(11,12),
(12,13),
(13,14),
(14,15),
(15,8),
(0,8),
(1,9),
(2,10),
(3,11),
(4,12),
(5,13),
(6,14),
(7,15)
)
def Cube():
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
glVertex3fv(verticies[vertex])
glEnd()
def main():
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL)
gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)
glTranslatef(0.0,0.0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotatef(1, 3, 1, 1)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
Cube()
pygame.display.flip()
pygame.time.wait(10)
main()
view raw mifigura3d.py hosted with ❤ by GitHub
Figuras en Python con la librería Pygame

Cubo 3D 


import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
verticies = (
(1, -1, -1),
(1, 1, -1),
(-1, 1, -1),
(-1, -1, -1),
(1, -1, 1),
(1, 1, 1),
(-1, -1, 1),
(-1, 1, 1)
)
edges = (
(0,1),
(0,3),
(0,4),
(2,1),
(2,3),
(2,7),
(6,3),
(6,4),
(6,7),
(5,1),
(5,4),
(5,7)
)
def Cube():
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
glVertex3fv(verticies[vertex])
glEnd()
def main():
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL)
gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)
glTranslatef(0.0,0.0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotatef(1, 3, 1, 1)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
Cube()
pygame.display.flip()
pygame.time.wait(10)
main()
view raw cubo.py hosted with ❤ by GitHub


Triángulo 3D

import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
verticies = (
(1, -1, -1),
(1, 1, -1),
(-1, 1, -1),
(-1, -1, -1),
(0,0,1)
)
edges = (
(4,0),
(4,1),
(4,2),
(4,3),
(0,1),
(0,3),
(2,1),
(2,3)
)
def Cube():
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
glVertex3fv(verticies[vertex])
glEnd()
def main():
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL)
gluPerspective(45, (display[0]/display[1]), 0.1, 50.0)
glTranslatef(0.0,0.0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotatef(1, 3, 1, 1)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
Cube()
pygame.display.flip()
pygame.time.wait(10)
main()
view raw trian.py hosted with ❤ by GitHub

Monday, November 25, 2019

MI INTERFAZ EN PYTHON

Interfaz creada por Cassandra González y Brandon Esquivel.

Incluye código con todos sus componentes y la conexión a la base de datos MongoDB.


# -*- coding: utf-8 -*-
from Tkinter import *
import tkMessageBox
import tkSimpleDialog
global nom,totf,LI,CC,MC,PC,SPA,DP,AU,PE,MA,formapago
from pymongo import MongoClient
def servicios():
costo = 0
cort= corte.get()
mani = manicure.get()
pedi = pedicure.get()
espa = spa.get()
depi = depilacion.get()
app = appunas.get()
pein = peinados.get()
makeup = maquillaje.get()
if cort == 1:
costo = costo + 60;
if mani == 1:
costo = costo + 100;
if pedi == 1:
costo = costo + 100;
if espa == 1:
costo = costo + 250;
if depi == 1:
costo = costo + 80;
if app == 1:
costo = costo + 150;
if pein == 1:
costo = costo + 300;
if makeup == 1:
costo = costo + 350;
return costo
def impuesto():
imp = (0.15 * servicios())
return imp
def listapedido():
cad=""
opcion = lista.get()
cort = corte.get()
mani = manicure.get()
pedi = pedicure.get()
espa = spa.get()
depi = depilacion.get()
app = appunas.get()
peina = peinados.get()
makeup = maquillaje.get()
doll = dolly.get()
sk = skay.get()
pepe = pp.get()
moni = mon.get()
pedido = Listbox(miFrame, width=50)
if opcion != "Servicios" or cort == 1 or mani == 1 or pedi == 1 or espa == 1 or depi == 1 \
or app == 1 or peina == 1 or makeup == 1 or doll == 1 or sk == 1 or pepe == 1 or moni == 1:
if opcion == "Corte":
cad += "Corte de cabello $60 pesos"
elif opcion == "Manicure":
cad += "Manicure $100 pesos"
elif opcion == "Pedicure":
cad += "Pedicure $100 pesos"
elif opcion == "SPA":
cad += "SPA $250 pesos"
elif opcion == "Depilacion":
cad += "Depilacion $80 pesos"
elif opcion == "Aplicacion de unas":
cad += "Aplicacion de unas $150 pesos"
elif opcion == "Peinado":
cad += "Peinado $300 pesos"
elif opcion == "Maquillaje":
cad += "Maquillaje $350 pesos"
elif opcion == "Dolly":
cad += "Colectora: Dolly"
elif opcion == "Skayla":
cad += "Colectora: Skayla"
elif opcion == "Pepe Esquivel":
cad += "Colector: Pepe Esquivel"
elif opcion == "Monica Maldonado":
cad += "Colectora: Monica Maldonado"
pedido.insert(0, cad)
# insert
if cort == 1:
pedido.insert(1, "Corte de cabello $60 pesos")
if mani == 1:
pedido.insert(2, "Manicure $100 pesos")
if pedi == 1:
pedido.insert(3, "Pedicure $100 pesos")
if espa == 1:
pedido.insert(4, "SPA $250 pesos")
if depi == 1:
pedido.insert(5, "Depilacion $80 pesos")
if app == 1:
pedido.insert(6, "Aplicacion de unas $150 pesos")
if peina == 1:
pedido.insert(7, "Peinado $300 pesos")
if makeup == 1:
pedido.insert(8, "Maquillaje $350 pesos")
if doll == 1:
pedido.insert(9, "Colectora: Dolly")
if sk == 1:
pedido.insert(10, "Colectora:Skayla")
if pepe == 1:
pedido.insert(11, "Colector: Pepe Esquivel")
if moni == 1:
pedido.insert(12, "Colectora: Monica Maldonado")
pedido.place(x = 400, y = 250)
def totali():
total = servicios()
return total
def totalf():
LI = lista.get()
CC = corte.get()
MC = manicure.get()
PC = pedicure.get()
SPA = spa.get()
DP = depilacion.get()
AU = appunas.get()
PE = peinados.get()
MA = maquillaje.get()
formapago= secpago.get()
totf=0
if LI != "Colectora de belleza" or CC == 1 or MC == 1 or PC == 1 or SPA == 1 or DP == 1 or AU == 1 or PE ==1 or MA == 1:
if LI == "Doly":
print "Su colector de Belleza es Dolly"
elif LI == "Skayla":
print "Su colector de Belleza es Skayla"
elif LI == "Pepe Esquivel":
print "Su colector de Belleza es Pepe Esquivel"
elif LI == "Monica Maldonado":
print "Su colector de Belleza es Monica Maldonado"
if CC == 1:
print "Agrego Corte de Pelo"
if MC == 1:
print "Agrego Manicure"
if PC == 1:
print "Agrego Pedicure"
if SPA == 1:
print "Agrego SPA"
if DP == 1:
print "Agrego Depilacion"
if AU == 1:
print "Agrego Aplicacion de Uñas"
if PE == 1:
print "Agrego Peinados"
if MA == 1:
print "Agrego Maquillaje"
if formapago ==1:
totf=totali()
iva=0
FP="Efectivo"
print "Forma de pago: ",FP
elif formapago ==2:
totf=totali()+impuesto()
iva=impuesto()
FP="Tarjeta de Credito"
print "Forma de pago: ",FP
l10 = Label(miFrame, text=totali(), fg="white", bg="pink", font=("Verdana", 16)).place(x=520, y=420)
l12 = Label(miFrame, text=iva, fg="white", bg="pink", font=("Verdana", 16)).place(x=520, y=460)
l14 = Label(miFrame, text=totf, fg="white", bg="pink", font=("Verdana", 16)).place(x=520, y=500)
conexion(LI,CC,MC,PC,SPA,DP,AU,PE,MA,formapago,totf)
def conexion(LI,CC,MC,PC,SPA,DP,AU,PE,MA,formapago,totf):
print 'envio a base de datos'
client = MongoClient('localhost', 27017)
db = client['Venta']
document = {'Colectora_Belleza': LI, 'Corte_Cabello': CC, 'Manicure': MC,
'Pedicure': PC, 'SPA': SPA, 'Depilacion': DP, 'Aplicacion_unas': AU,
'Peinados': PE, 'Maquillaje': MA, 'tipo_pago': formapago, 'total': totf}
_id = db['Citas'].insert(document)
print _id
return
def limpiarlista():
tkMessageBox.showinfo("Limpieza de Registros", "Se han limpiado todos los registros")
corte.set(0)
manicure.set(0)
pedicure.set(0)
spa.set(0)
depilacion.set(0)
appunas.set(0)
peinados.set(0)
maquillaje.set(0)
listapedido()
#Boton CONFIRMAR
def confirmacion():
tkMessageBox.showinfo('GRACIAS', 'Tu compra se ha realizado con éxito.')
#Boton CANCELAR
def cancelar():
if tkMessageBox.askokcancel("Cancelar", "¿Quieres salir?"):
if tkMessageBox.askokcancel("Cancelar", "¿Estas seguro?"):
if tkMessageBox.askokcancel("Cancelar", "¿Enserio?"):
raiz.destroy()
#Creacion de la ventana principal
raiz = Tk() #Creacion de la ventana
#raiz.resizable(0,0)
raiz.title("Beuty Salon")
raiz.iconbitmap("cambio-de-imagen.ico")
raiz.config(bg="white") #Color del Background o Raiz
nom = ""
nom = tkSimpleDialog.askstring("Cliente","Escriba su nombre: ")
#Creacion de Frame
miFrame = Frame(raiz, width=800, height=650)
miFrame.pack(fill="both", expand="True")
miFrame.config(bg="pink") #Color del background del Frame
miFrame.config(width=800, height=650) #Para cargar la dimension solo ocultamos la raiz.geometry para que se adapte al Frame
miFrame.config(relief="groove") #Borde
miFrame.config(bd=25) #Tamaño del Borde
#MENU
menubar = Menu(raiz)
raiz.config(menu=menubar)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Nuevo")
filemenu.add_command(label="Abrir")
filemenu.add_command(label="Guardar")
filemenu.add_command(label="Cerrar")
filemenu.add_separator()
filemenu.add_command(label="Salir", command=raiz.quit)
editmenu = Menu(menubar, tearoff=0)
editmenu.add_command(label="Cortar")
editmenu.add_command(label="Copiar")
editmenu.add_command(label="Pegar")
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Ayuda")
helpmenu.add_separator()
helpmenu.add_command(label="Acerca de...")
menubar.add_cascade(label="Archivo", menu=filemenu)
menubar.add_cascade(label="Editar", menu=editmenu)
menubar.add_cascade(label="Ayuda", menu=helpmenu)
#Etiqueta del titulo
l1=Label(miFrame, text="BEAUTY SALON", fg="white", bg="pink", font=("Verdana", 25, "bold")).place(x=200, y=20)
#Codigo del logo
imagen=PhotoImage(file="cambio-de-imagen2.gif")
imagen = imagen.zoom(10)
imagen = imagen.subsample(20)
Label(miFrame, image=imagen).place(x = 600, y =20)
#Etiquetas principales
l2=Label(miFrame, text="Bienvenido a Beauty Salon", fg="white", bg="pink", font=("Verdana", 18)).place(x=10, y=100)
l3=Label(miFrame, text="Nombre del cliente: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=150)
labelnom = Label(miFrame, text=nom,fg="white", bg="pink", font=("Verdana", 14)).place(x=220, y=150)
l4=Label(miFrame, text="Correo electronico: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=194)
e2=Entry(miFrame).place(x=220, y=200)
l5=Label(miFrame, text="Seleccione el servicio que desee: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=250)
paso1=Label(miFrame, text="PASO 1: ", fg="white", bg="pink", font=("Verdana", 10, "bold")).place(x=10, y=230)
paso2=Label(miFrame, text="PASO 2: ", fg="white", bg="pink", font=("Verdana", 10, "bold")).place(x=10, y=360)
#Checkbuttons
corte=IntVar()
manicure=IntVar()
pedicure=IntVar()
spa=IntVar()
depilacion=IntVar()
appunas=IntVar()
peinados=IntVar()
maquillaje=IntVar()
c1 = Checkbutton(miFrame, text="Corte de cabello",activebackground="pink", fg="black", bg="pink", font=("Verdana", 10),
variable=corte, onvalue=1,offvalue=0).place(x=10, y=280)
c2= Checkbutton(miFrame, text="Manicure",activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=manicure, onvalue=1,offvalue=0).place(x=10, y=300)
c3 = Checkbutton(miFrame, text="Pedicure", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=pedicure, onvalue=1,offvalue=0).place(x=10, y=320)
c4 = Checkbutton(miFrame, text="SPA", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=spa, onvalue=1,offvalue=0).place(x=10, y=340)
c5 = Checkbutton(miFrame, text="Depilación", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=depilacion, onvalue=1,offvalue=0).place(x=180, y=280)
c6 = Checkbutton(miFrame, text="Aplicación de uñas", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=appunas, onvalue=1,offvalue=0).place(x=180, y=300)
c7 = Checkbutton(miFrame, text="Peinados", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=peinados, onvalue=1,offvalue=0).place(x=180, y=320)
c8 = Checkbutton(miFrame, text="Maquillaje", activebackground="pink", fg="black", bg="pink", font=("Verdana", 10)
,variable=maquillaje, onvalue=1,offvalue=0).place(x=180, y=340)
#Lista despegable
l6=Label(miFrame, text="Seleccione su colectora de belleza: ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=380)
lista=StringVar(miFrame)
lista.set("Colectora de belleza")
dolly = StringVar()
skay = StringVar()
pp = StringVar()
mon = StringVar()
opciones=["Dolly","Skayla", "Pepe Esquivel", "Monica Maldonado"]
opcion=OptionMenu(miFrame,lista,*opciones).place(x = 10, y = 420)
#Radiobuttons
l7=Label(miFrame, text="Tipo de pago ", fg="white", bg="pink", font=("Verdana", 14)).place(x=10, y=460)
secpago = IntVar()
R1 = Radiobutton(miFrame, text="Efectivo",bg="pink", variable=secpago, value=1).place(x = 10, y = 500)
R2 = Radiobutton(miFrame, text="Tarjeta de credito",bg="pink", variable=secpago, value=2).place(x = 10, y = 520)
l8=Label(miFrame, text="Concepto(s)", fg="white", bg="pink", font=("Verdana", 16)).place(x=470, y=200)
#Listbox
concepto= Listbox(miFrame, width=50).place(x = 400, y = 250)
#Etiquetas de la compra
l9=Label(miFrame, text="Subtotal= ", fg="white", bg="pink",font=("Verdana", 16)).place(x=400, y=420)
#l10=Label(miFrame, text="...", fg="white", bg="pink",font=("Verdana", 16)).place(x=520, y=420)
l11=Label(miFrame, text="IVA= ", fg="white", bg="pink",font=("Verdana", 16)).place(x=400, y=460)
#l12=Label(miFrame, text="... ", fg="white", bg="pink",font=("Verdana", 16)).place(x=520, y=460)
l13=Label(miFrame, text="Total= ", fg="white", bg="pink",font=("Verdana", 16)).place(x=400, y=500)
#l14=Label(miFrame, text=, fg="white", bg="pink",font=("Verdana", 16)).place(x=520, y=500)
#Botones
limpiar=Button(miFrame, text= "LIMPIAR", command=limpiarlista).place(x = 10, y = 560)
cancelar=Button(miFrame, text= "CANCELAR",command=cancelar).place(x = 80, y = 560)
confirmar=Button(miFrame, text= "CONFIRMAR", command=confirmacion).place(x = 550, y = 560)
hacerpedido=Button(miFrame, text= "HACER PEDIDO",command=listapedido).place(x = 280, y = 350)
total=Button(miFrame, text="TOTAL COMPRA", command=totalf).place(x = 430, y = 560)
raiz.mainloop()
view raw Interfaz.py hosted with ❤ by GitHub


Conexión a la base de datos Mongo.

Tuesday, November 19, 2019

Interfaz Conexión con MongoDB

Programa de Alfredo y Cynthia

Para lograr la conexión se tiene que tener abierto el servidor de mongod y mongo.


#!/usr/bin/python
# -*- coding: utf-8 -*-
from Tkinter import *
import Tkinter as tk
import tkMessageBox
global cad,TH,CH,PR,CR,PP,CP,PB,CB,totf,iva,totalP,FP
from pymongo import MongoClient
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():
imp = (0.15 * (thamb() + comp()))
return imp
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():
CheckVar1.set(0)
CheckVar2.set(0)
CheckVar3.set(0)
listapedido()
def totali():
total=thamb()+comp()
return total
def totalf():
TH = var1.get()
CH = cant.get()
PR = CheckVar1.get()
CR = cant1.get()
PP = CheckVar2.get()
CP = cant2.get()
PB = CheckVar3.get()
CB = cant3.get()
formapago=var.get()
totf=0
if TH != "No ha selecionado" or PR == 1 or PP == 1 or PB == 1:
if TH == "Hamburguesa sencilla":
print "Hamburguesa sencilla, cantidad: ", CH
elif TH == "Hamburguesa Doble":
print "Hamburguesa Doble, cantidad: ", CH
elif TH == "Hamburguesa triple":
print "Hamburguesa triple, cantidad: ", CH
if PR == 1:
print "Refresco, cantidad: ", CR
if PP == 1:
print "Papas, cantidad: ", CP
if PB == 1:
print "Burrito, cantidad: ", CB
if formapago ==1:
totf=totali()+impuesto()
iva=impuesto()
FP="Tarjeta"
print "Forma de pago: ",FP
elif formapago ==2:
totf=totali()
iva=0
FP="Efectivo"
print "Forma de pago: ",FP
totalP = totali()
print "Total: ", totalP
print "Iva: ", iva
print "Total final: ", totf
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()
conexion(TH,CH,CB,CR,CP,formapago,totf)
def conexion(TH,CH,CB,CR,CP,formapago,totf):
#TH es el tipo de hamburguesa
#CH cantidad de hamburguesas
#CB cantidad de burritos
#CR cantidad de refrescos
#CP cantidad de papas
#totf total de la venta
print 'envio a base de datos'
client = MongoClient('localhost', 27017)
db = client['PuntoVenta']
document = {'tipo_de_hamburguesa': TH, 'cantidad_hamburguesa': CH, 'cantidad_burritos': CB,
'cantidad_refrescos': CR,'cantidad_papas':CP,'tipo_pago': formapago,'total_con_iva':totf}
_id = db['Ventas'].insert(document)
print _id
return
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")
#Etiquetas
miLabel1=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")
#OptionMenu
var1=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)
#ListBox
c= Listbox(miFrame, width=50).grid(row=2, column=2, pady="1", padx="4")
#Entrys
cant=tk.IntVar(miFrame)
cant1=tk.IntVar(miFrame)
cant2=tk.IntVar(miFrame)
cant3=tk.IntVar(miFrame)
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")
#Checkbutton
CheckVar1=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)
#Radiobutton
var = 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")
#botones
Cancelar=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()
view raw Conexion.py hosted with ❤ by GitHub
Interfaz de Alfredo y Cynthia

Punto de venta

Código con la explicación de mis compañeros.



# -*- coding: utf-8 -*-
from Tkinter import *
import Tkinter as tk
import tkMessageBox
global cad
"""Creamos una funcion para saber el tipo de hamburguesa seleccionado y la cantidad de pedido,
utilizamos el get para obtener los datos almacenados en las variables pertenecientes del frame,
en esta funcion utilizamos condiciones if, y elif, ya que si no es una es otra, en cada condicion
se le es añadido a una variable el costo de la hamburguesa, esta variable es declarada inicialmente en 0,
despues de salir de las condiciones nos muestra una variable la cual su valor sera igual a la multiplicacion
de cantidad por el costo de la hamburguesa, esto seria el equivalente al costo total de las hamburguesas el cual vamos a
retornar para utilizar a futuru."""
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
""" Creamos al igual una funcion la cual contendra la selecion de complementos y la cantidad de ellos introducidas,
utilizamos el get para obtener los datos almacenados en las variables pertenecientes del frame,
declaramos una variable para el costo total de los complementos, la cual la inicializamos en 0,
en esta funcion utilizamos condiciones if, ya que vamos a evaluar las tres, ya que esta conectado a un
checkbutton puede haber mas de una opcion o ninguna, dentro de los if utilizamos la variable del costo total de
complemetos la cual tendra el calor de si misma mas la multiplicacion del precio por la cantidad del complemento,
esto se almacena en la variable y al final de los if, la retornamos para posteriormente utilizarla."""
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
"""Creamos una funcion para calcular el impuesto, este impuesto se manejara cuando el pago se con tarjeta, usamos una variable llamada iva que sera igual
a la multiplicacion del 15% por el total el cual se realiza en totali, despues retornamos el iva para usarlo despues.
"""
def impuesto():
iva = 0.15 * totali()
return iva
"""En la interfaz nos dice total, es decir que con esta funcion sumaremos el total de la hamburguesa mas el total de los complementos,
y retornamos el resultado de la suma para usarla para calcular el impuesto y el total final
"""
def totali():
total=thamb()+comp()
return total
"""La funcion creada a continuacion es para calcular el total final, el cual dependera de la forma de pago, ya que si es con tarjeta se aplica un impuesto, y si no el precio es el mismo que el totali,
para esto obtenemos con el get el valor de la variable que almacena la opcion del radio botton, y declaramos una variable para guardar el total final, la cual inicializaremos en 0,
en este caso utilizaremos el if y elif, ya que si no es una debe ser la otra, y si no con un else mandamos una tkMessengebox diciendo que no se ha seleccionado la forma de pago,
en el if de pago con tarjeta, cuando esta se cumple, la variable total final sera igual a la suma de las funciones totali mas impuesto, y declararemos una variable llamada iva en la cual sera igual a la funcion impuesto,
si el pago es con efectivo en elif tomaremos la variable total final igualandola a la funcion totali, y declarando la variable iva igual a 0, esto con el fin de que podamos imprimir en una etiqueta el calor del totali,
total final y del iva como se muestran los Label despues de las condiciones, en esta funcion hacemos llamar la funcion listapedido la cual creara una lista de los productos seleccionados"""
def totalf():
formapago=var.get()
totf=0
if formapago ==1:
totf=totali()+impuesto()
iva=impuesto()
print 'El IVA es', iva
elif formapago ==2:
totf=totali()
iva=0
else:
tkMessageBox.showerror("Error "," no se ha seleccionado una forma de pago")
print 'El total final es', totf
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()
"""Creamos esta funcion para insertar los productos selecionados en un Listbox, para insertar y elimiar, esto se debe hacer despues de declarar el listbox pero antes de empaquetarlo, o de poner ya sea .grid,.config,.pack
para insertar creamos un if para ver si hay algun producto seleccionado, si hay entra y compara, para el caso de la seleccion de la hamburguesas declaramos una variable global en la vamos a usar para las tres condiciones
de las hamburguesas, despues de salir de las condiciones tenemos la sintasix para insertar que es nombrelistbox.insert(numerodeposicion,"texto a insertar, o en el caso de las hamburguesas la variable),
para poder eliminar usamos la siguiente sintaxis: nombrelistbox.delete(numerodeposicionaborrar), despues de poner lo insert o los delete, empaquetamos el listbox y listo """
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"
print 'El tipo de hamburguesa es',hamb
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")
"""para Limpiar las cajas, tenemos la opcion de borar desde un inicio fijado hasta el final del texto disponible en el entry,
gracias a un indice que nos da TKinter que es 'END', con este podemos de la siguiente
forma borrar desde el inicio hasta el final sin necesitar conocer cuantos caracteres componen el texto contenido en el widget,
este empieza una cadenita de llamado de funciones para limpiar la interfaz
cuando oprimimos cancelar"""
def limpiarcajas():
cuadrohamb.delete(0, 'end')
cuadrorefresco.delete(0,'end')
cuadroburrito.delete(0,'end')
cuadropapas.delete(0,'end')
limpiarbotones()
"""para limpiar los botones simplemente mandamos con el set en el de el menu el mensaje inicial, y en los otros mandamos None,
pero esto se lo asignamos a las varibles usadas para los botones.
Para limpiar las etiquetas de los totales y el impuesto imprimimos una etiqueta en blanco
"""
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()
"""Para limpiar la lista pedido o Listbox las variables de los checkbutton y las cajas de los complementos les mandamos con el set el valor de 0,
asi llamando a la funcion listapedido se ira a la parte del delete y por ultimo mostramos un mensaje de que se ha borrado todo y puede volver a pedir
"""
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")
"""Para terminar el programa utilizamos esta funcion de ocultar,
aunque otra opcion podria ser destroy
"""
def ocultar(ventana): ventana.withdraw()
#def conexion(var1, cant, cant3, cant1, cant2, var, total, totf)
#tipo de hamburguesa es var1
#total de hamburguesa es cant
#cantidad de burrios es cant3
#cantidad de refrescos es cant1
#cantidad de papas es cant2
#total de pago es var
#total sin IVA es total
#total con IVA es totf
#Creacion de la ventana principal
"""Como ya hemos visto las creaciones de ventana, hic
raiz.title("ventana primaria")imos una ventana raiz, en la cual creamos un frame,
con el relief(atributo que se le da a configuracion) caqmbiamos el diseño de la ventanas, con el bd el tamaño del borde y con el cursor el tipo de cursor
"""
raiz=Tk()
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")
"""Al crear el Frame debemos indicar a quien pertenece en este caso el frame pertenece a la raiz, todos los componentes creados para la interfaz van a pertenecer al frame,
aunque tambien pueden pertenecer a la raiz, en este caso solo un boton pertenecera a la raiz."""
miFrame=Frame(raiz)
miFrame.pack()
miFrame.config(bg="yellow")
miFrame.config(bd=10)
miFrame.config(relief="sunken")
miFrame.config(cursor="hand2")
#Etiquetas
"""Nombre de la etiqueta = Label (a quien pertenece, text(indica que es lo que mostrara)=El texto a mostrar,
fg(color de letra)=color en ingles o puede ser en hexadecimal,
bg(lo utilizamos para indicar el color del fondo este lo indicamos para cuando usamos un color diferente al predeterminado)=color del fondo,
font(aqui podemos indicar el tipo de letra y el tamaño del texto)=("tipoletra",Tamaño en #)).grid(utilizamos el .grid para darle la posicion
en el frame es decir crea una cuadicula que podriamos decir que es como una matriz)(row=numerodefila,column=numerodecolumna,
pady="numerode separacionenY",sticky="Posicion se indica con los puntos cardenales en ingles
N, S, E, W se utiliza solo la inicial ")"""
miLabel1=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 desplegable
"""para la menu de opciones o mejor conocidas como OptionMenu, creamos una variable la cual declaramos de tipo string e indicamos a donde pertenecees decir:
nombredelavariable=tk.StringVar(aquienpertenece) .esta variable la usaremos para guardar la opcion seleccionada, pero como al inicio
no tiene ninguna seleccionada ponemos:
nombredelavariable.set("Mensaje") el set es para enviar, creamos un arreglo con las opciones es decir:
nombrearreglo=["Op1","Op2",...,"Opn"] , enseguida de crear el arreglo creamos el OptionMenu la sintaxis seria:
nombre=tk.OptionMenu(aquienpertenece,nombredelavariable,*nombrearreglo) ya que usaremos config para el ancho y grid para la pocicion tengremos que escribir separados, es decir:
nombre.config(width=anchoennumero)
nombre.grid(row=numerofila,column=numerocolumna) esto seria para crear un menu de opciones"""
var1=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)
#Listbox
"""para crear un listbox la sintaxis seria:
nombre=Listbox(aquienpertenece, width=anchonumero)
nombre.grid(row=numerofila, column=numerocolumna, pady="numerodeespacioenY", padx="numerodeespacioenX"), esto seria para crear el puro cascaron,
para ingresar datos lo vemos en la funcion listapedido(), el de la linea 202 es por simple estetica"""
c= Listbox(miFrame, width=50).grid(row=2, column=2, pady="1", padx="4")
#Entrys
"""Los entrys son cajas de texto, como todos conocemos sirven para ingresar, pero tambien podemos imprimir en ellos
como cada caja de texto o entry es individual debemos crear una variable para cada una a usar y la declararemos de que tipo de dato hablamos.
nombrevariablecaja=tk.IntVar'tipo de dato'(aquienpertenece) esto solo es la variable donde almacenaremos el dato ingresado en el entry la siguiente sintaxis
es para crear el entry:
nombreentry=Entry(aquienpertenece, textvariable=nombrevariablecaja) el textvariable es para indicar donde almacenaremos lo que ingresamos en el entry
nombreentry.grid(row=numerofila,column=numerocolumna,pady="numerodeespacionenY") igual que todos los elementos utilizamos el grid para indicar su pocicion,
y si queremos un interlineado por llamarlo de una forma
nombreentry.config(fg="colordetexto", justify="posicion de justificacion") en el config utilizanmos el justify, este utiliza para justificar el texto como
si usaramos word solo indicamos center, left o right"""
cant=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")
#Checkbutton
"""El Checkbutton es una casilla de verificación que al igual que los entry son individuales, es decir que son lo contrario a los radiobutton, el checkbutton nos permite elegir mas de 1 opcion
al mismo tiempo para estro declararemos una variable para cada checkbutton:
nombrevariableCheckButton=tipodedato() para crear el checkbutton:
nombreCheckbutton=Checkbutton(aquienpertenece,text="Texto a verificar",bg="color fondo", variable=nombrevariableCheckButton)
nombreCheckbutto.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX")
nombreCheckbutto.config(onvalue=1, offvalue=0) para dar el valor 1 cuando lo seleccionamos y de 0 cuando no """
CheckVar1=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)
#Radiobutton
"""El radio button es un boton de seleccion compartida es decir que si seleccionamos una no podemos seleccionar la otra,
un ejemplo de esto seria la opcion de sexo ya sea mujer u hombre
es decir que comparte la misma variable la sintaxis es:
nombrevariable= IntVar()
nombreRadiobutton1 = Radiobutton(aquienpertenece, text="texto opcion1", bg="color fondo", variable=nombrevariable, value=1) value es el valor que tomara la variable, este servira para saber cual opcion se selecciono y trabajar con ella
nombreRadiobutton1.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX")
nombreRadiobutton2 = Radiobutton(aquienpertenece, text="texto opcion2", bg="color fondo", variable=nombrevariable, value=2)
nombreRadiobutton2.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX") """
var = 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")
#botones
"""Los botones hacen un evento en este caso llaman a uno o mejor dijo llaman a una funcion. La sintaxis seria la siguiente:
nombreboton=Button(aquienpertenece, text= "texto que mostrara el boton",command=llamandolafuncion)
nombreboton.grid(row=numerofila,column=numerocolumna, sticky="posicion",padx="separacionenX") """
Cancelar=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()
view raw InterfazAC hosted with ❤ by GitHub

Monday, November 11, 2019

MONGODB

MongoDB es una base de datos NoSQL de código abierto que utiliza un modelo de datos orientado a documentos. Es uno de los sistemas y bases de datos NoSQL más importantes y potentes en la actualidad.

Lo primero es instalar la Base de Datos Mongo de acuerdo con las instrucciones que la maestra de clase de GRAFICACIÓN nos proporciona. Para obtener los pasos hacer click aquí.

Ya instalado, se abre el CMD, se escribe mongod y hay que esperar unos segundos para que se cargue todo y esté disponible el puerto 27017. Esa ventana de CMD se deja abierta.





Ahora, se abre otra ventana de CMD y se escribe mongo, también se esperan varios segundos y cuando ya se muestran un signo de mayor que > es cuando ya está listo para usarse.



Primero para crear una base de datos se utiliza el comando use junto con el nombre que se le quieran asignar. Asímismo, se puede utilizar el comando db para mostrar en cuál base de datos se está utilizando. Con el comando show databases se muestran las bases de datos que actualmente existen, también se puede abreviar como show dbs.


Se ingresan datos con la sintaxis db.nombre_coleccion,insert({ campo1: "documento1", campo2: "documento2"}). Se va ingresar a la colección documentos del personal de la empresa. Al momento que se escribe el nombre de la colección, aunque no exista, MongoDB la crea y si ya existe, como quiera la utiliza.


Para ver cuántas colecciones existen en la base de datos, se utiliza el comando show collections y actualmente existen dos. Para mostrar qué documentos tiene la colección personal, se utiliza la siguiente sintaxis: db.nombre_coleccion.find().pretty().