Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. from tkinter import *
  2. import tkinter as tk
  3. import ctypes
  4. from tkinter import messagebox
  5. from tkinter.font import Font
  6.  
  7.  
  8. def center(ventana):
  9. """
  10. centers a tkinter window
  11. :param win: the root or Toplevel window to center
  12. """
  13. ventana.update_idletasks()
  14. width = ventana.winfo_width()
  15. frm_width = ventana.winfo_rootx() - ventana.winfo_x()
  16. win_width = width + 2 * frm_width
  17. height = ventana.winfo_height()
  18. titlebar_height = ventana.winfo_rooty() - ventana.winfo_y()
  19. win_height = height + titlebar_height + frm_width
  20. x = ventana.winfo_screenwidth() // 2 - win_width // 2
  21. y = ventana.winfo_screenheight() // 2 - win_height // 2
  22. ventana.geometry('{}x{}+{}+{}'.format(width, height, x, y))
  23. ventana.deiconify()
  24.  
  25.  
  26. ventana = tk.Tk()
  27.  
  28. user32 = ctypes.windll.user32
  29. screensizeX = user32.GetSystemMetrics(0)-300
  30. screensizeY = user32.GetSystemMetrics(1)-300
  31. ventana.geometry(str(screensizeX)+"x"+str(screensizeY))
  32. ventana.config(bg="#FFFFFF")
  33.  
  34.  
  35.  
  36. def agregarAlumno(n,a,f,c):
  37. nombreLista.insert(tk.END,n)
  38. nombre.delete(0,tk.END)
  39.  
  40. apellidoLista.insert(tk.END,a)
  41. apellido.delete(0,tk.END)
  42.  
  43. faltasLista.insert(tk.END,f)
  44. faltas.delete(0,tk.END)
  45.  
  46. ciLista.insert(tk.END,c)
  47. ci.delete(0,tk.END)
  48.  
  49.  
  50.  
  51.  
  52.  
  53. def ventAgregaralumno():
  54. ventanaAgregar = Tk()
  55. ventanaAgregar.title("Agregar alumno")
  56. ventanageometryX = screensizeX-300
  57. ventanageometryY = screensizeY-300
  58. ventanaAgregar.geometry(str(ventanageometryX)+"x"+str(ventanageometryY))
  59.  
  60. center(ventanaAgregar)
  61.  
  62.  
  63. global nombre
  64. Label(ventanaAgregar,text="Nombre: ").place(x=0,y=0)
  65. nombre = Entry(ventanaAgregar)
  66. nombre.place(x=55,y=0)
  67.  
  68.  
  69.  
  70. global apellido
  71. Label(ventanaAgregar,text="Apellido:").place(x=0,y=25)
  72. apellido = Entry(ventanaAgregar)
  73. apellido.place(x=55,y=25)
  74.  
  75. global faltas
  76. Label(ventanaAgregar,text="Faltas:").place(x=0,y=50)
  77. faltas = Entry(ventanaAgregar)
  78. faltas.place(x=55,y=50)
  79.  
  80. global ci
  81. Label(ventanaAgregar,text="CI:").place(x=0,y=75)
  82. ci = Entry(ventanaAgregar)
  83. ci.place(x=55,y=75)
  84.  
  85. botonAgregar = Button(ventanaAgregar,text="Agregar", command=lambda: agregarAlumno(nombre.get(),apellido.get(),faltas.get(),ci.get()))
  86. botonAgregar.place(x=50,y=100)
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93. menu = Menu(ventana)
  94.  
  95. menuLista = Menu(menu,tearoff=0)
  96. menu.add_cascade(label="Lista",menu=menuLista)
  97. menuLista.add_command(label="Agregar alumno",command=ventAgregaralumno)
  98. menuLista.add_command(label="Salir")
  99.  
  100. menuNotas = Menu(menu,tearoff=0)
  101. menu.add_cascade(label="Notas",menu=menuNotas)
  102. menuNotas.add_command(label="Opciones")
  103.  
  104. menuAyuda = Menu(menu,tearoff=0)
  105. menu.add_cascade(label="Ayuda", menu=menuAyuda)
  106. menuAyuda.add_command(label="Acerca de")
  107.  
  108.  
  109. alumnosNombre = Button(ventana,text="Nombre",relief=RAISED,bd=1,height=1,width=23)
  110. alumnosNombre.place(x=25,y=0)
  111.  
  112. alumnosApellido = Button(ventana,text="Apellido",relief=RAISED,bd=1,height=1,width=23)
  113. alumnosApellido.place(x=230,y=0)
  114.  
  115. alumnosFaltas = Button(ventana,text="Faltas",relief=RAISED,bd=1,height=1,width=23)
  116. alumnosFaltas.place(x=435,y=0)
  117.  
  118. alumnosCI = Button(ventana,text="CI",relief=RAISED,bd=1,height=1,width=23)
  119. alumnosCI.place(x=645,y=0)
  120.  
  121. def modificarVentana(self):
  122. modificarVentana = Tk()
  123. modificarVentana.title("Modificar")
  124. modificarVentana.geometry("300x300")
  125. global nombre
  126. Label(modificarVentana,text="Nombre: ").place(x=0,y=0)
  127. nombre = Entry(modificarVentana)
  128. nombre.place(x=55,y=0)
  129. botonAgregar = Button(modificarVentana,text="Agregar", command=lambda: modificar(nombre.get()))
  130. botonAgregar.place(x=50,y=100)
  131.  
  132.  
  133. def modificar(info):
  134. print("dsf")
  135. select = nombreLista.curselection()
  136. nombreLista.delete(select)
  137. nombreLista.insert(select,info)
  138.  
  139. nombreLista = Listbox(ventana,width=27,height=screensizeY)
  140. nombreLista.config(borderwidth=2,highlightthickness=4,highlightcolor="#0000ff",selectforeground="#ffffff",selectbackground="#00aa00",selectborderwidth=2,font=Font(family="Sans Serif", size=10))
  141. nombreLista.place(x=10,y=30)
  142. nombreLista.bind("<Double-1>",modificarVentana)
  143.  
  144.  
  145. apellidoLista = Listbox(ventana,width=27,height=screensizeY)
  146. apellidoLista.config(borderwidth=2,highlightthickness=4,highlightcolor="#0000ff",selectforeground="#ffffff",selectbackground="#00aa00",selectborderwidth=2,font=Font(family="Sans Serif", size=10))
  147. apellidoLista.place(x=215,y=30)
  148.  
  149. faltasLista = Listbox(ventana,width=27,height=screensizeY)
  150. faltasLista.config(borderwidth=2,highlightthickness=4,highlightcolor="#0000ff",selectforeground="#ffffff",selectbackground="#00aa00",selectborderwidth=2,font=Font(family="Sans Serif", size=10))
  151. faltasLista.place(x=420,y=30)
  152.  
  153. ciLista = Listbox(ventana,width=27,height=screensizeY)
  154. ciLista.config(borderwidth=2,highlightthickness=4,highlightcolor="#0000ff",selectforeground="#ffffff",selectbackground="#00aa00",selectborderwidth=2,font=Font(family="Sans Serif", size=10))
  155. ciLista.place(x=625,y=30)
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164. ventana.config(menu=menu)
  165. center(ventana)
  166. ventana.mainloop()
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191. ventana.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement