Codigo:
#!/usr/bin/python
from Tkinter import *
import tkMessageBox
import MySQLdb
ii = 0
xx = 0
yy = 1
zz = 2
resultado = ((0,0,0))
def leertabla():
global ii,xx,yy,zz,resultado,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
conexion = MySQLdb.connect( user="root", passwd="", db="escuela" )
cursor = conexion.cursor()
query = "SELECT * FROM alumnos"
cursor.execute(query)
resultado = cursor.fetchall()
cursor.close()
conexion.commit()
conexion.close()
c1.config( state=NORMAL )
c2.config( state=NORMAL )
c3.config( state=NORMAL )
c1.delete(0,END)
c2.delete(0,END)
c3.delete(0,END)
c1.insert(INSERT, resultado[ii][xx])
c2.insert(INSERT, resultado[ii][yy])
c3.insert(INSERT, resultado[ii][zz])
c1.config( state=DISABLED )
c2.config( state=DISABLED )
c3.config( state=DISABLED )
def nuevo():
global ii,xx,yy,zz,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
b1.config( text="Agregar", command=agregar )
l4.config( text="Estas creando un nuevo registro,\ncuando termines da clic en \"Agregar\"" )
c1.config( state=NORMAL )
c2.config( state=NORMAL )
c3.config( state=NORMAL )
c1.delete(0,END)
c2.delete(0,END)
c3.delete(0,END)
def agregar():
global ii,xx,yy,zz,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
b1.config( text="Nuevo", command=nuevo )
l4.config( text="" )
x = c1.get()
y = c2.get()
z = c3.get()
conexion = MySQLdb.connect( user="root", passwd="", db="escuela" )
cursor = conexion.cursor()
query = "INSERT INTO alumnos(alumno_id, alumno_nombre, alumno_adeudo) VALUES(%s,\"%s\",%s);" % (x,y,z)
cursor.execute(query)
cursor.close()
conexion.commit()
conexion.close()
c1.config( state=DISABLED )
c2.config( state=DISABLED )
c3.config( state=DISABLED )
leertabla()
def modificar():
global ii,xx,yy,zz,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
b2.config( text="Actualizar", command=actualizar )
l4.config( text="Estas modificando un registro,\ncuando termines da clic en \"Actualizar\"" )
c1.config( state=NORMAL )
c2.config( state=NORMAL )
c3.config( state=NORMAL )
def actualizar():
global ii,xx,yy,zz,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
b2.config( text="Modificar", command=modificar )
l4.config( text="" )
x = c1.get()
y = c2.get()
z = c3.get()
conexion = MySQLdb.connect( user="root", passwd="", db="escuela" )
cursor = conexion.cursor()
query = "UPDATE alumnos SET alumno_id=%s, alumno_nombre=\"%s\", alumno_adeudo=%s WHERE alumno_id=%s" % (x,y,z,c1.get())
cursor.execute(query)
cursor.close()
conexion.commit()
conexion.close()
c1.config( state=DISABLED )
c2.config( state=DISABLED )
c3.config( state=DISABLED )
leertabla()
def eliminar():
global ii,xx,yy,zz,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
if tkMessageBox.askyesno("Eliminacion de registro", "Estas realmente seguro de desear eliminar este registro?"):
c1.config( state=NORMAL )
c2.config( state=NORMAL )
c3.config( state=NORMAL )
conexion = MySQLdb.connect( user="root", passwd="", db="escuela" )
cursor = conexion.cursor()
query = "DELETE FROM alumnos WHERE alumno_id=%s" % (c1.get())
cursor.execute(query)
cursor.close()
conexion.commit()
conexion.close()
c1.config( state=DISABLED )
c2.config( state=DISABLED )
c3.config( state=DISABLED )
ii = 0
leertabla()
def atras():
global ii,xx,yy,zz,resultado,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
ii = ii - 1
if ii == 0:
b4.config( state=DISABLED )
else:
b4.config( state=NORMAL )
if ii == (len(resultado)-1):
b5.config( state=DISABLED )
else:
b5.config( state=NORMAL )
c1.config( state=NORMAL )
c2.config( state=NORMAL )
c3.config( state=NORMAL )
c1.delete(0,END)
c2.delete(0,END)
c3.delete(0,END)
c1.insert(INSERT, resultado[ii][xx] )
c2.insert(INSERT, resultado[ii][yy] )
c3.insert(INSERT, resultado[ii][zz] )
c1.config( state=DISABLED )
c2.config( state=DISABLED )
c3.config( state=DISABLED )
def adelante():
global ii,xx,yy,zz,resultado,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
ii = ii + 1
if ii == (len(resultado)-1):
b5.config( state=DISABLED )
else:
b5.config( state=NORMAL )
if ii == 0:
b4.config( state=DISABLED )
else:
b4.config( state=NORMAL )
c1.config( state=NORMAL )
c2.config( state=NORMAL )
c3.config( state=NORMAL )
c1.delete(0,END)
c2.delete(0,END)
c3.delete(0,END)
c1.insert(INSERT, resultado[ii][xx] )
c2.insert(INSERT, resultado[ii][yy] )
c3.insert(INSERT, resultado[ii][zz] )
c1.config( state=DISABLED )
c2.config( state=DISABLED )
c3.config( state=DISABLED )
def venalu():
global popup,ii,xx,yy,zz,resultado,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
popup = Toplevel()
lp = Label(popup, text="Alumnos", font=('Arial',20,'bold'))
l1 = Label(popup, text="Id:", anchor=E, width=17)
l2 = Label(popup, text="Nombre:", anchor=E, width=17)
l3 = Label(popup, text="Adeudo:", anchor=E, width=17)
l4 = Label(popup, text="" )
c1 = Entry(popup)
c2 = Entry(popup)
c3 = Entry(popup)
b1 = Button(popup, text="Nuevo", command=nuevo)
b2 = Button(popup, text="Modificar", command=modificar)
b3 = Button(popup, text="Eliminar", command=eliminar)
b4 = Button(popup, text="<", command=atras)
b5 = Button(popup, text=">", command=adelante)
b6 = Button(popup, text="Salir", command=popup.destroy )
lp.grid(row=0, column=0, columnspan=5)
l1.grid(row=1, column=0, columnspan=2)
l2.grid(row=2, column=0, columnspan=2)
l3.grid(row=3, column=0, columnspan=2)
l4.grid(row=4, column=0, columnspan=5)
c1.grid(row=1, column=2, columnspan=3)
c2.grid(row=2, column=2, columnspan=3)
c3.grid(row=3, column=2, columnspan=3)
b1.grid(row=5, column=0)
b2.grid(row=5, column=1)
b3.grid(row=5, column=2)
b4.grid(row=5, column=3)
b5.grid(row=5, column=4)
b6.grid(row=6, column=0, columnspan=5)
leertabla()
popup.grab_set()
popup.focus_set()
popup.wait_window()
def venmae():
pass
def venmat():
pass
def vencur():
pass
def venlis():
pass
def vencon():
global popup, entradacon, areadetexto
popup = Toplevel()
areadetexto = Text(popup)
etiquetacon = Label(popup, text="Query:", width=10)
entradacon = Entry(popup, width=40)
botoncon = Button(popup, text="Enviar", command=consulta)
areadetexto.grid(row=0, column=0, columnspan=2)
etiquetacon.grid(row=1, column=0)
entradacon.grid(row=1, column=1)
botoncon.grid(row=2, column=0, columnspan=2)
popup.grab_set()
popup.focus_set()
popup.wait_window()
def consulta():
global entradacon, areadetexto
conexion = MySQLdb.connect( user="root", passwd="", db="escuela" )
cursor = conexion.cursor()
query = entradacon.get()
cursor.execute(query)
resultado = cursor.fetchall()
salida = ""
for x in resultado:
lar = len(x)
for i in range(0, lar):
salida = salida + "{0}\t\t".format( x[i] )
salida = salida + "\n"
areadetexto.insert(INSERT, salida)
cursor.close
conexion.commit()
conexion.close()
def main():
global ii,xx,yy,zz,resultado,l1,l2,l3,l4,c1,c2,c3,b1,b2,b3,b4,b5
venprincipal = Tk()
label1 = Label(text="PseudoSchool Manager v1.0", font=(('Arial',20,'bold')))
boton1 = Button(venprincipal, text="Alumnos", command=venalu)
boton2 = Button(venprincipal, text="Maestros", command=venmae)
boton3 = Button(venprincipal, text="Materias", command=venmat)
boton4 = Button(venprincipal, text="Cursos", command=vencur)
boton5 = Button(venprincipal, text="Listas", command=venlis)
boton6 = Button(venprincipal, text="Consultas", command=vencon)
boton7 = Button(venprincipal, text="Salir", command=venprincipal.quit)
label1.grid(row=0, column=0, columnspan=5)
boton1.grid(row=1, column=0)
boton2.grid(row=1, column=1)
boton3.grid(row=1, column=2)
boton4.grid(row=1, column=3)
boton5.grid(row=1, column=4)
boton6.grid(row=2, column=0, columnspan=5)
boton7.grid(row=3, column=4)
venprincipal.mainloop()
if __name__ == '__main__':
main() No esta terminado, me faltaron las formas para las demas tablas y la de "Listas" iva a tener un GridView para ver las listas de alumnos inscritos en los diferentes cursos.