-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathavanzado.py
executable file
·139 lines (114 loc) · 5.25 KB
/
avanzado.py
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
from tkinter import *
from tkinter import messagebox
import sqlite3
def center(toplevel):
toplevel.update_idletasks()
w = toplevel.winfo_screenwidth()
h = toplevel.winfo_screenheight()
size = tuple(int(_) for _ in toplevel.geometry().split('+')[0].split('x'))
x = w / 2 - size[0] / 2
y = h / 2 - size[1] / 2
toplevel.geometry("%dx%d+%d+%d" % (size + (x, y)))
#CONEXION A LA BD
conexion = sqlite3.connect('login.db')
ventanaA = Tk()
ventanaA.title("Administrador avanzado")
ventanaA.geometry("400x500") #Dimen. ventana administrador
ventanaA.config(bg='ghost white')
ventanaA.iconbitmap("loginuser.ico") #Icono .ico
center(ventanaA) #Uso esta funcion para acomodar la pantalla en el centro
ventanaA.resizable(0,0)#remuevo el botón maximizar
labelId = Label(ventanaA,text="ID del usuario:",font=("calibri", 11),bg='ghost white')
labelId.place(x=30,y=100) #ubicacion label id
labelNombre= Label(ventanaA,text="Usuario:",font=("calibri", 11),bg='ghost white')
labelNombre.place(x=30,y=150) #ubicacion label nombre
labelContrasena = Label(ventanaA,text="Contraseña:",font=("calibri", 11),bg='ghost white')
labelContrasena.place(x=30,y=200) #ubicacion label contrasena
id = Entry(ventanaA,font=("calibri", 11),state="readonly") #Entry id
id.place(x=150,y=100) #ubicacion entry id
nombre = Entry(ventanaA,font=("calibri", 11)) #Entry nombre
nombre.place(x=150,y=150) #ubicacion entry nombre
contrasena = Entry(ventanaA,font=("calibri", 11)) #Entry contrasena
contrasena.place(x=150,y=200) #ubicacion entry contrasena
#######
#Etiqueta PANEL AVANZADO
Label(ventanaA, text="Panel avanzado de Administrador", bg="orange", width="300", font=("calibri", 13)).pack()
def busqueda():
buscarId = (buscar.get(),)
tabla = conexion.cursor()
tabla.execute("SELECT * FROM login WHERE id = ?",buscarId)
conexion.commit()
datos = tabla.fetchall()
tabla.close
if(len(datos)>0):
id.config(state="normal")
for dato in datos:
id.delete(0,END)
id.insert(END,dato[0])
nombre.delete(0,END)
nombre.insert(END,dato[1])
contrasena.delete(0,END)
contrasena.insert(END,dato[2])
id.config(state="readonly")
botonModificar.config(state="normal")
else:
pass
buscar = Entry(ventanaA,width=10,font=("calibri", 11))
buscar.place(x=30,y=50) #Entry Buscar
botonBuscar = Button(ventanaA,cursor="hand2", bd=1, bg ="white smoke", width=10,text="Buscar por ID",font=("calibri", 11),command=busqueda) #Boton Buscar po ID
botonBuscar.place(x=120,y=50) #ubicacion boton Buscar por id
def guardar():
datos = (nombre.get(),contrasena.get())
tabla = conexion.cursor()
tabla.execute("INSERT INTO login(nombre,contrasena) VALUES(?,?)",datos)
conexion.commit()
tabla.close
messagebox.showinfo(title="Guardado", message=("El usuario se guardo\n correctamente "))
nombre.delete(0,END)
contrasena.delete(0,END)
botonGuardar = Button(ventanaA,cursor="hand2", bd=1, bg ="white smoke", width=10,text="Guardar",font=("calibri", 11),command=guardar)
botonGuardar.place(x=30,y=240)
def modificar():
datos = (nombre.get(),contrasena.get(),id.get())
tabla = conexion.cursor()
tabla.execute("UPDATE login SET nombre=?,contrasena=? WHERE id = ?",datos)
conexion.commit()
tabla.close
messagebox.showinfo(title="Modificado", message=("El usuario se modifico\n correctamente "))
id.delete(0,END)
nombre.delete(0,END)
contrasena.delete(0,END)
botonModificar= Button(ventanaA,cursor="hand2", bd=1, bg ="white smoke", width=10, state="disabled", text="Modificar",font=("calibri", 11),command=modificar)
botonModificar.place(x=140,y=240)
def eliminar():
eliminarId = (id.get(),)
tabla = conexion.cursor()
tabla.execute("DELETE FROM login WHERE id = ?",eliminarId)
conexion.commit()
tabla.close
messagebox.showinfo(title="Eliminado", message=("El usuario fue eliminado\n correctamente "))
id.delete(0,END)
nombre.delete(0,END)
contrasena.delete(0,END)
botonEliminar= Button(ventanaA,cursor="hand2", bd=1, bg ="white smoke", width=10,text="Eliminar",font=("calibri", 11),command=eliminar)
botonEliminar.place(x=250,y=240)
def listado():
tabla = conexion.cursor()
tabla.execute("SELECT * FROM login ORDER BY id")
conexion.commit()
datos = tabla.fetchall()
tabla.close
lista.delete(0,END)
for dato in datos:
alumno = str(dato[0])+" "+str(dato[1])+" "+str(dato[2])
lista.insert(END,alumno)
def main():
ventanaA.destroy()
import main
lista = Listbox(ventanaA,width = 35,heigh=8,font=("Arial",12))#Lista
lista.place(x=30,y=280) #ubicacion boton lista
botonListar = Button(ventanaA,cursor="hand2", bd=1, bg ="white smoke", width=10, text="Ver Usuarios",font=("calibri", 11),command=listado)#boton Ver Usuarios
botonListar.place(x=30,y=450) #ubicacion boton Ver Usuarios
botonMain = Button(ventanaA,cursor="hand2", bd=1, bg ="white smoke", width=20, text="Ingresar al programa",font=("calibri", 11),command=main)#boton Ver Usuarios
botonMain.place(x=200,y=450) #ubicacion boton Ver Usuarios
ventanaA.mainloop()